2014-03-13 72 views
0

我想每次點擊一個按鈕時創建一個新的div。爲此,我一直在使用以下代碼:Javascript創建不同ID的div

function createDiv(){ 
var divTag = document.createElement("div"); 
divTag.id = "div1"; 
divTag.setAttribute("align","center"); 
divTag.style.border = "1px solid #ccc"; 
} 

但是,這會爲每個創建的div分配id「div1」。我需要所有的div:s有不同的id:s。 如果每個新創建的div都被命名爲「div +增加數量」(div1,div2,div3,div4,div5)等等,那將會很不錯。

回答

1

創建一個計數器,然後將其附加到ID,然後增加計數器。

var divCount = 0; 
function createDiv(){ 
    var divTag = document.createElement("div"); 
    divTag.id = "div"+divCount; 
    divCount++; 
    divTag.setAttribute("align","center"); 
    divTag.style.border = "1px solid #ccc"; 
} 
0

你也可以檢查,如果DIV已經存在,然後增加你的整數控制

function createDiv() { 
var created = false; 
var index = 1; 
    while (!created) { 
    if (document.getElementById('div'+index) == null) { //not sure if the correct check is like this but something similar will work 
     //create div here 
     created = true; 
    } 
    else { 
     index++; 
    } 
    } 
} 

只是一個替代

+1

的getElementById查找是昂貴的。如果你創建了數百個div,你基本上會在創建一個div之前查找所有這些。便宜的選擇只是爲了記住你分配的最後一個ID。 – Abhishek