Javascript 如何在几个元素上添加类名并定义它们?

Javascript 如何在几个元素上添加类名并定义它们?,javascript,Javascript,我有一个任务,就是下载document元素,并为它们放置类名为“bodyCopy”的类,以及标记selektor和类操纵。该类在单独的CSS文档中给出 我为此做了一个代码,见下文。代码可以工作,但是当我验证代码时,它是未定义的,下面的代码由于这个定义错误而无法运行。我的代码是错误的,即使它是工作的还是我没有定义什么 var a = document.getElementsByTagName("p"); for(i = 0; i <= a.length; i++) {

我有一个任务,就是下载document元素,并为它们放置类名为“bodyCopy”的类,以及标记selektor和类操纵。该类在单独的CSS文档中给出

我为此做了一个代码,见下文。代码可以工作,但是当我验证代码时,它是未定义的,下面的代码由于这个定义错误而无法运行。我的代码是错误的,即使它是工作的还是我没有定义什么

    var a = document.getElementsByTagName("p");
       for(i = 0; i <= a.length; i++) {
          a[i].classList.add("bodyCopy");   
       }
var a=document.getElementsByTagName(“p”);
对于(i=0;i
var a=document.getElementsByTagName(“p”);
对于(i=0;i

只需
已经有了一个很好的答案,但还有另一个选择。你也可以使用
forEach
函数,它是一个非常干净的代码,并且可以做同样的事情

let elements = document.querySelectorAll("p");
elements.forEach(p=>{
    p.classList.add("bodyCopy");
});

i
getElementByTagName()
不返回实际数组,而是一个
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");
});