我想在每个列表元素后面生成三个随机颜色的div框。我从这开始,但它不起作用 - DIV似乎不可见:(
非常感谢!
HTML
<div id="wrapper">
<ul>
<li>li1</li>
<li>li2</li>
<li>li3</li>
</ul>
</div>
JS
$("li").each(function(){
var randomColor = "#"+Math.floor(Math.random()*16777215).toString(16);
for (var i = 0; i < 3; i++) {
stripe = document.createElement('div');
stripe.setAttribute('style', 'width:100px; height:3px; background-color' + randomColor);
wrapper = document.getElementById("wrapper");
wrapper.appendChild(stripe);
}
});
答案 0 :(得分:5)
答案 1 :(得分:2)
你在background-color元素之后错过了javascript中的冒号。 jsFiddle
stripe.setAttribute('style', 'width:100px; height:3px; background-color:' + randomColor);
答案 2 :(得分:2)
您的想法是正确的,但您的JavaScript中有一个简单的语法错误。
stripe.setAttribute('style', 'width:100px; height:3px; background-color:' + randomColor);
您只是忘记了:
函数中background-color
后的冒号(setAttribute()
)。
答案 3 :(得分:1)
您的背景颜色
后缺少冒号另一件事,你说你想在每个列表元素后插入彩色div。你的脚本只会在最后添加元素
我相信这就是你想要的
http://jsfiddle.net/dgweu/4/
更频繁地使用jquery,这非常方便。
jQuery的insertbefore方法使一切变得更容易
您创建一个元素,查询它,然后在每个li元素