gpt4 book ai didi

javascript - 如何用appendChild添加多个div?

转载 作者:IT王子 更新时间:2023-10-29 03:09:04 24 4
gpt4 key购买 nike

我正在尝试使用 javascript 制作一个棋盘并用它创建 64 个 div。
问题是,它只创建第一个 div。
这是代码:

div {
width: 50px;
height: 50px;

display: block;
position: relative;
float: left;
}

<script type="text/javascript">
window.onload=function()
{
var i=0;
var j=0;
var d=document.createElement("div");

for (i=1; i<=8; i++)
{
for (j=1; j<=8; j++)
{
if ((i%2!=0 && j%2==0)||(i%2==0 && j%2!=0))
{
document.body.appendChild(d);
d.className="black";
}
else
{
document.body.appendChild(d);
d.className="white";
}
}
}
}
</script>

最佳答案

正如 t-j-crowder 所指出的,OP 的代码只创建了一个 div。但是,对于 googlers,有一种方法可以在 DOM 中使用单个 appendChild 附加多个元素:通过创建 documentFragment .

function createDiv(text) {
var div = document.createElement("div");
div.appendChild(document.createTextNode(text));
return div;
}

var divs = [
createDiv("foo"),
createDiv("bar"),
createDiv("baz")
];

var docFrag = document.createDocumentFragment();
for(var i = 0; i < divs.length; i++) {
docFrag.appendChild(divs[i]); // Note that this does NOT go to the DOM
}

document.body.appendChild(docFrag); // Appends all divs at once

关于javascript - 如何用appendChild添加多个div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14910196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com