Javascript 为什么querySelectorAll()和getElementsByTagName()不起作用?
我试图选择HTML页面中的所有Javascript 为什么querySelectorAll()和getElementsByTagName()不起作用?,javascript,Javascript,我试图选择HTML页面中的所有元素,然后为每个元素添加一个类。然后运行一个函数,从每个元素中删除相同的类 我已尝试使用querySelectorAll()执行此操作: 并使用getElementsByTagName(): 但两者都不起作用。我已经用jQuery解决了这个问题,所以不需要回答这个问题。我只是想比较一下JavaScript和jQuery在这种情况下的性能,并在此过程中学习更多的普通JavaScript 我也尝试过这样删除该类: document.querySelectorAll("a
元素,然后为每个元素添加一个类。然后运行一个函数,从每个
元素中删除相同的类
我已尝试使用querySelectorAll()执行此操作:
并使用getElementsByTagName():
但两者都不起作用。我已经用jQuery解决了这个问题,所以不需要回答这个问题。我只是想比较一下JavaScript和jQuery在这种情况下的性能,并在此过程中学习更多的普通JavaScript
我也尝试过这样删除该类:
document.querySelectorAll("a").className =
document.querySelectorAll("a").className.replace
( /(?:^|\s)class1(?!\S)/g , '' )
以及:
但这两种方法都不管用。任何帮助都将不胜感激。返回列表。您需要迭代列表元素
文档。querySelectorAll
返回一个列表,因此需要循环遍历它。例如:
var links = document.querySelectorAll('a');
for(var i = 0; i < links.length; i++){
links[i].className = 'class1';
}
var links=document.querySelectorAll('a');
对于(变量i=0;i
他们都返回了列表,使用一个简单的循环非常感谢大家!
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 , '' );
var links = document.querySelectorAll('a');
for(var i = 0; i < links.length; i++){
links[i].className = 'class1';
}