簡體   English   中英

我用javascript生成了html代碼(很多div)。 現在我想用GetElementById查找生成的div

[英]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。 但是據說這是空的。

謝謝。

idnull,因為您沒有在標記創建中指定它。 看來您是將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM