JavaScript:创建一个文本框数组

时间:2014-04-11 21:53:41

标签: javascript html css arrays

我希望使用纯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]);      
     }

如何才能正确显示网格?

1 个答案:

答案 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;
}