[英]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.