我希望使用纯JavaScript创建一个3x3文本输入框的网格,相对于现有的方形div。我希望构建一个单个1D数组的网格,每个第三个框循环一次(如果没有,那么输入框数组的数组就可以了 - 我希望这是有意义的)。这就是我的代码目前的样子,但是当我循环数组长度时,只有三个框显示(如果我不这样,那么数组会线性延伸到div范围之外):
var row0 = new Array(9);
for (var i = 0; i < 9; ++i)
{
row0[i] = document.createElement('input');
row0[i].style.position = "absolute";
row0[i].type = "text";
row0[i].style.marginLeft = 35px *i % 105 + "px";
row0[i].style.width = "35px";
row0[i].style.height = "35px";
document.getElementById('block1').appendChild(row0[i]);
}
如何才能正确显示网格?
答案 0 :(得分:1)
我会使用javascript和CSS的组合
DEMO http://jsfiddle.net/x8dSP/3010/
JS
window.onload = function () {
var parent_div = document.createElement("div")
parent_div.id = "parent"
document.body.appendChild(parent_div);
var x = 0;
while (x < 9) {
var child_input = document.createElement("input")
child_input.className = "child"
document.getElementById(parent_div.id).appendChild(child_input);
x++;
}
}
CSS
div {
width: 150px;
}
input {
display: inline-block;
width: 30px;
height: 30px;
margin: 5px;
}