所以我想为这个变量创建一个类。
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);
}
答案 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
。