我有一个任务是下载文档
元素,并为它们放置类名称为“ bodyCopy”的类,并带有标记selektor和类操作。该类在单独的CSS文档中给出。
我为此做了一个代码,请参见下文。代码可以工作,但是当我验证代码时,它是未定义的,并且由于该定义错误,下面的代码无法运行。即使可以正常工作,我的代码还是错误的?或者我错过了定义某些内容的机会?
var a = document.getElementsByTagName("p");
for(i = 0; i <= a.length; i++) {
a[i].classList.add("bodyCopy");
}
当我验证时说a [i]未定义,并且下面的代码无法继续。我在做什么错了?
答案 0 :(得分:2)
var a = document.getElementsByTagName("p");
for(i = 0; i < a.length; i++) {
a[i].classList.add("bodyCopy");
}
只需要是<
而不是<=
...这只是一个单一的错误。之所以有效,是因为直到完成所有任务后才发生错误。
答案 1 :(得分:1)
已经有了一个很好的答案,但是还有另一种选择。您还可以使用forEach
函数,它可以清除很多代码,并且功能相同。
let elements = document.querySelectorAll("p");
elements.forEach(p=>{
p.classList.add("bodyCopy");
});