我尝试在HTML页面中选择所有<a>
元素,然后为每个元素添加一个类。然后运行一个函数,从每个<a>
元素中删除同一个类。
我已尝试使用querySelectorAll():
document.querySelectorAll('a').className += ' class1';
使用getElementsByTagName():
document.getElementsByTagName('a').className += ' class1';
但两者都不起作用。我已经开始使用jQuery了,所以不需要回答。我只是想在这种情况下比较JavaScript和jQuery的性能,并在我学习时学习更多的香草JavaScript。
我也试过删除这样的课程:
document.querySelectorAll("a").className =
document.querySelectorAll("a").className.replace
( /(?:^|\s)class1(?!\S)/g , '' )
和
document.getElementsByTagName("a").className =
document.getElementsByTagName("a").className.replace
( /(?:^|\s)class1(?!\S)/g , '' );
但这些都不起作用。任何帮助将不胜感激。
答案 0 :(得分:2)
Document.querySelectorAll
返回一个列表。您需要遍历列表元素
答案 1 :(得分:1)
document.querySelectorAll
返回一个列表,因此您需要循环它。例如:
var links = document.querySelectorAll('a');
for(var i = 0; i < links.length; i++){
links[i].className = 'class1';
}