GetElementById可以正常工作。效果很好。
但是如果我使用for循环来生成id为1,2,3的div,依此类推。我无法得到它。有没有办法获得那些生成的div?
这就是生成HTML代码的原因(只是为了清楚我的意思):
for(i=0; i<randomizeColoursList.length; i++)
{
document.getElementById("renderColors").innerHTML +=
'<div class=\"box\"><div class=\"' + i + '\"><font color=\"'
+ randomizeColoursList[i] + '\">'
+ "" + '<img src=\"dist/card_bg.gif\"></div></div>';
}
生成其中一个:
<div class="8"><font color="#3be6c4"><img src="dist/card_bg.gif"></font></div>
与8级的Div是我想要获得的id。但是说它是空的。
感谢。
答案 0 :(得分:5)
id
null ,因为您尚未在标记创建中指定它。您似乎正在将id
值分配给class
。
答案 1 :(得分:1)
生成更像这样的东西:
<div id="div1" class="8"><font color="#3be6c4"><img src="dist/card_bg.gif"></font></div>
此外,您不需要使用字体标记,也不应该使用它们。只需将样式添加到div。
<div id="div1" class="8" style="color:#3be6c4;"><img src="dist/card_bg.gif"></div>
答案 2 :(得分:0)
你这样做的方式有点倒退。如果你像我下面那样编写代码,那么你不需要给出div的ID,你最终会得到一个完整的引用数组。
var i, div, img;
var createdDivs = [];
for(i=0; i<randomizeColoursList.length; i++)
{
div = document.createElement('div');
img = document.createElement('img');
div.className = "box";
div.style.backgroundColor = randomizeColoursList[i];
div.style.color = randomizeColoursList[i];
img.src = "dist/card_bg.gif"
div.appendChild(img);
document.getElementById("renderColours").appendChild(div);
createdDivs.push(div);
}