我有很多页的按钮。我想用另一个链接替换一些特定的链接。下面是HTML代码
<button onclick="changeURL()">change link</button>
<button onclick="location.href='https://google.com'" id="link">go to link</button>
我试图添加这个脚本,但它不工作。
<script>
function changeURL(){
var newURL = "https://youtube.com";
document.getElementById("link").href = newURL;
}
</script>
4条答案
按热度按时间3gtaxfhh1#
如果页面上有很多按钮需要修改它们的目标,那么下面的内容可能会让你感兴趣。您不能拥有重复的ID属性,并期望任何使用该ID的JavaScript代码都能正确运行。您可以**修改该ID并使其成为
dataset
属性,例如data-id='link'
,当尝试标识多个元素时,这是完全有效的,并且是有意义的,如下所示。用于更改按钮目标的按钮调用
document.querySelectorAll
来标识具有data-id
属性的任何/所有按钮,然后遍历该节点列表来修改分配给每个按钮的事件处理程序。我添加
data-name
属性只是为了指示不同的按钮它在修改代码中不起任何作用。k97glaaz2#
我看到的问题是,你试图改变href的值,但按钮不支持hrefs。
试试这个:
如果你有很多按钮有不同的id,你可以在你的函数中写上名字,像这样:
ecfdbz9o3#
这是good code。
getElementById(link)
可能不存在。qlzsbp2j4#
您可以将
function
设置为onclick
的值,并在该函数中将正确的值分配给newURL
。