Javascript 如何在几个元素上添加类名并定义它们?
我有一个任务,就是下载document元素,并为它们放置类名为“bodyCopy”的类,以及标记selektor和类操纵。该类在单独的CSS文档中给出 我为此做了一个代码,见下文。代码可以工作,但是当我验证代码时,它是未定义的,下面的代码由于这个定义错误而无法运行。我的代码是错误的,即使它是工作的还是我没有定义什么Javascript 如何在几个元素上添加类名并定义它们?,javascript,Javascript,我有一个任务,就是下载document元素,并为它们放置类名为“bodyCopy”的类,以及标记selektor和类操纵。该类在单独的CSS文档中给出 我为此做了一个代码,见下文。代码可以工作,但是当我验证代码时,它是未定义的,下面的代码由于这个定义错误而无法运行。我的代码是错误的,即使它是工作的还是我没有定义什么 var a = document.getElementsByTagName("p"); for(i = 0; i <= a.length; i++) {
var a = document.getElementsByTagName("p");
for(i = 0; i <= a.length; i++) {
a[i].classList.add("bodyCopy");
}
var a=document.getElementsByTagName(“p”);
对于(i=0;ivar a=document.getElementsByTagName(“p”);
对于(i=0;i
只需已经有了一个很好的答案,但还有另一个选择。你也可以使用forEach
函数,它是一个非常干净的代码,并且可以做同样的事情
let elements = document.querySelectorAll("p");
elements.forEach(p=>{
p.classList.add("bodyCopy");
});
igetElementByTagName()
不返回实际数组,而是一个HTMLCollection
,它没有forEach()
,但可以这样做:array.from(document.getElementsByTagName(“p”).forEach(p=>p.classList.add(“bodyCopy”))你说得对……我忘了把getElementsByTagName()
改成querySelectorAll
,这是我的主要想法。。。
let elements = document.querySelectorAll("p");
elements.forEach(p=>{
p.classList.add("bodyCopy");
});