3 回答

TA貢獻1830條經驗 獲得超9個贊
您可以在文本字符串中使用分配 ID。
以下是您可以做的其他一些事情來改進此代碼:
將 getElementById 移到循環外
使用 js 方法而不是字符串連接
像這樣的東西(未經測試):
// get the container
container = document.getElementById('container');
for (i = 0; i < newArray.length; i++)
{
// create a div
var div = document.createElement('div');
// add attributes
div.setAttribute("id", "box-" + i);
div.setAttribute("class", "box");
// create text node
var textnode = document.createTextNode("This is div #" + i);
// add text to div
div.appendChild(textnode);
// append to container
container.appendChild(div);
}

TA貢獻1810條經驗 獲得超4個贊
您可以在 for 循環中在迭代時直接執行此操作:
for (i = 0; i < newArray.length; i++)
{
x += '<div id="box-' + i + '"> class="box">' + newArray[i] + '</div>';
document.getElementById('container').innerHTML = x;
}

TA貢獻1793條經驗 獲得超6個贊
創建時給它id怎么樣?也把class=box像這樣的引號 -> class="box"。
并且在 for 循環之后只添加一次整個 div 構造。因為現在你基本上是多次覆蓋整個事情。
var words = [40];
var count = 0;
var x = "";
function nextElems() {
var newArray = words.slice(count, count + 8);
for (i = 0; i < newArray.length; i++)
{
// Change class and add custom id
x += '<div class="box" id="box-'+i+'">' + newArray[i] + '</div>';
}
document.getElementById('container').innerHTML = x; // Add divs after for loop
x = "";
count += 8;
}
現在每個盒子都有一個唯一的 id,從 box-0, box-1, ... 到 box-n
添加回答
舉報