[英]I generated html code (lots of divs) with javascript. Now I want to find the generated divs with GetElementById
如果我在主体内部手动添加div id =“ something”并在脚本中使用window.onload = init方法来获取它,则GetElementById可以工作。 效果很好。
但是,如果我使用for循环生成id为1,2,3的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。 但是据说这是空的。
谢谢。
id
为null,因为您没有在标记创建中指定它。 看来您是将id
值分配给class
。
生成更多类似这样的内容:
<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>
您进行此操作的方式有些倒退。 如果您像下面那样编写代码,则无需提供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);
}
实时链接: http : //jsfiddle.net/7HjLL/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.