以下是HTML代码:
<span class="holder">
<a href="/menu/page1">Navigate</a>
</span>
我想用类持有者选择所有这些标签,然后在这些持有者下我想要更改a
标签的href。
我尝试过:
var holders = document.getElementsByClassName('holder'),
i = holders.length;
while(i--) {
holders[i].getElementsByTagName('a').href = "http://www.google.com";
}
但上面的代码不起作用。它不会将href从/menu/page1
更改为我的自定义链接。我做错了什么?
当我使用某些外部网页时,我无法使用jquery。 请只提供Javascript解决方案。 谢谢。
答案 0 :(得分:4)
getElementsByTagName返回元素集合,如果要获取第一个链接,请使用.getElementsByTagName('a')[0]
答案 1 :(得分:1)
由于perent元素可能包含同一标记的多个实例,因此getElementsByTagName
返回元素/节点的集合
所以,你必须像数组一样处理它。贝娄是最好的方法之一
var holders = document.getElementsByClassName('holder'),
i = holders.length;
while(i--) {
var anchors = holders[i].getElementsByTagName('a');
for (var j = 0; j < anchors.length; j++) {
anchors[j].href="'http://www.google.com";
}
}