我想在HTML页面上绘制一个2 x 2的蓝色矩形网格,但是我的代码没有绘制任何东西。我创建了一个片段以添加我想稍后添加的内容,并将div添加到toAdd。我不太清楚哪里出错了,当我尝试添加console.log()时,我可以确认addSquares正在被调用。我是否需要向HTML文件添加任何内容,或者在此代码中是否存在错误?我也注意到,这段代码产生五个div:b0,b1,b2,b3,b1(返回错误),我不确定我的for循环出了什么问题。在javascript中使用for循环添加HTML矩形
dim = 2;
width = 50;
height = 50;
// add the squares
function addSquares()
{
var toAdd = document.createDocumentFragment();
for(var i = 0; i < dim; i++)
{
for(var j = 0; j < dim; j++)
{
var label = j + i * dim;
var name = "b" + label;
console.log(name)
var div = document.createElement(name);
div.style.width = width + "px";
div.style.height = height + "px";
div.style.left = width * j + "px";
div.style.top = height * i + "px";
div.style.position = "absolute";
div.style.color = "blue";
toAdd.appendChild(div);
}
}
document.appendChild(toAdd);
}
我试过这个,但矩形仍然没有出现 – MLE
更新了我的答案。看看,让我知道如果这解决您的问题。 –
是的,这工作!谢谢! 快速的问题 - 如果我想将这些矩形添加到容器中,并且我想调用矩形上的某些东西(我正在写一个函数来为每个矩形添加一个事件监听器),我可以通过名称调用它们吗? – MLE