Javascript 如何将数组放入div中
我想把这个数组放到一个div中,这样我就可以在我们的站点上定位它了。我该怎么做?或者有没有其他方法来代替把它放在div里Javascript 如何将数组放入div中,javascript,Javascript,我想把这个数组放到一个div中,这样我就可以在我们的站点上定位它了。我该怎么做?或者有没有其他方法来代替把它放在div里 var chair = new Array() { for (var i = 0; i <= 10; i++) { var button = document.createElement("button"); button.id = "button" + i; button.innerHTML = (i > 3 &&
var chair = new Array()
{
for (var i = 0; i <= 10; i++) {
var button = document.createElement("button");
button.id = "button" + i;
button.innerHTML = (i > 3 && i < 8) ? "Button" : "hi";
document.body.appendChild(button);
}
}
document.getElementById("zaal1").innerHTML = chair;
据我所知,您试图在数组中插入一些按钮,然后希望将它们附加到div,以便在文档中显示它们,下面的代码就是这样做的: var=新数组; 对于var i=0;i 3&&i<8?按钮:嗨; 椅子[i]=按钮; 文件.getElementByIdzaal1.appendChildchair[i]; }
以下是使用文档片段的版本。这就是你想做的吗
var frag = document.createDocumentFragment();
for (var i = 0; i <= 10; i++) {
var button = document.createElement("button");
button.id = "button" + i;
button.innerHTML = (i > 3 && i < 8) ? "Button" : "hi";
frag.appendChild(button);
}
document.getElementById("zaal1").appendChild(frag);
正如上面在注释中提到的,您不应该在循环中在DOM中追加Child,也不应该在循环中使用innerHTML:
if (document.createDocumentFragment) { // Use documentFragment if available
var docFrag = document.createDocumentFragment();
for (var i = 0; i <= 10; i++) {
var button = document.createElement("button");
button.id = "button" + i;
button.innerHTML = (i > 3 && i < 8) ? "Button" : "hi";
docFrag.appendChild(button);
}
document.getElementById("zaal1").appendChild(docFrag);
} else {
var zaal1, html = '';
zaal1 = document.getElementById("zaal1");
var array = [];
for (var i = 0; i <= 10; i++) {
array.push( '<button id="button' + i + '">'
+ ((i > 3 && i < 8) ? "Button" : "hi")
+ "</button>");
}
zaal1.innerHTML = array.join(''); // Use innerHTML only when all the html is already concatenated
}
你想实现什么?你能以小提琴的形式共享你的代码吗?你应该将按钮添加到文档片段并将其附加到正文中,而不是将每个按钮单独附加到DOM中。你的代码不会生成任何要分配给innerHTML的html。。相反,它实际上创建了一些“button”对象,并将这些对象附加到DOM中。您正在创建一个空数组,然后对它不做任何操作。下面的方块与椅子无关。这只是一段代码。