如何在JavaScript中为节点分配类

时间:2017-11-02 02:00:42

标签: javascript

所以我想为这个变量创建一个类。

            elements.newClass = 'test';




 document.createElement('div');
 div = document.getElementsByTagName('div');
 var count  =  [1,1,1,1,1,1,1];
    for( i = 0; i <= count.length; i++){
        var elements = '<div>'+ i +'<div>';
            elements.newClass = 'test';
            document.body.append(elements);
    }

1 个答案:

答案 0 :(得分:0)

鉴于对DOM元素的引用,您可以通过设置.className property或调用.classList.add() method来分配类。

在您的代码中,您没有对DOM元素的引用,您的elements变量只是一个字符串。您可以使用document.createElement()创建div,然后设置其内容和类,如下所示:

var classes = ['a', 'b', 'c', 'd'];
for(var i = 0; i < classes.length; i++) {
   var div = document.createElement('div'); // create the DOM element
   div.innerText = i;                       // then set whichever of its
   div.className = classes[i];              // properties you need to set
   document.body.append(div);               // then append it to the body
}
.a { color: blue; }
.b { color: red; }
.c { color: green; }
.d { color: pink; }

我不确定你要对count数组做什么:你的当前循环只使用循环计数器值,它不使用来自的值阵列。如果要显示数组中的值,请将设置内容的行更改为:

div.innerText = count[i];

更新:您在评论中说过,您希望拥有一个类名数组,并为每个新元素分配一个。我已经更新了上面的代码来做到这一点。请注意,循环条件应使用<而非<=,并且您应使用i声明var