使用JavaScript更改链接标签的href属性

3

我正在尝试更改链接标签的 href 属性,以便在按下按钮时加载新的样式表。

函数 addcss() {
var findlink = document.getElementsByTagName("link"); findlink.href = "stylesheetxhtml.css"; }

注意:请勿修改 HTML 标签。
2个回答

9

你不能直接设置href,因为document.getElementsByTagName返回所有的<link>标签(作为一个NodeList)。如果你确定只有一个,请使用以下代码:

var findlink = document.getElementsByTagName("link");
findlink[0].href = "stylesheetxhtml.css";

如果你有多个<link>元素,并且想要针对特定的一个进行操作,请给它一个id并使用document.getElementById方法:
var findlink = document.getElementsById("myLinkId");
findlink.href = "stylesheetxhtml.css";

最后,如果您想创建一个新的<link>元素,请使用document.createElement

var newLink = document.createElement('link');
newLink.href = "stylesheetxhtml.css";
document.getElementsByTagName("head")[0].appendChild(newlink);

啊,谢谢,只是差了那么一点点。所以如果我有多个链接标签,我需要查找我想要更改的href链接。还是我改变数字0?抱歉,我对JavaScript还很陌生。如果你很忙,不用担心。感谢你的帮助。 - Mikey
直接给它一个ID会更容易,而不是循环遍历所有链接元素并检查href。 - bfavaretto
太棒了,谢谢!如果您不介意的话,我还有一个问题。一旦按下按钮,如何使其返回页面顶部呢?我尝试了函数"window.location.reload()",但这显然只是重新加载页面而没有改变链接。 - Mikey

0

兄弟,最简单的方法是: 只需键入以下内容: document.querySelector(".search").setAttribute("href","https://www.google.com/");

现在 让你的按钮在点击时执行此操作!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接