如何在div中构建所有输入类的数组?

时间:2012-03-15 23:34:03

标签: javascript arrays

我无法弄清楚如何在pageload上设置数组,其中包含div中每个输入的所有类名和id名称,其id为boardinput。

<div id="boardinput">
    <input id='R1C1' class="blank" maxlength="1" />
    <input id='R1C2' class="tw" maxlength="1" />
    <input id='R1C3' class="blank" maxlength="1" />
    <input id='R1C4' class="tw" maxlength="1" />
    <input id='R1C5' class="dl" maxlength="1" />
    <input id='R1C6' class="blank" maxlength="1" />
</div>

so array1 = [“R1C1”,“R1C2”,“R1C3”,“R1C4”,“R1C4”,“R1C5”,“R1C6”]

和array2 = [“blank”,“tw”,“blank”,“tw”,“dl”,“blank”]

我想这样做,以便在更改完成后我可以恢复原始类和id。提前感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

由于你没有要求jQuery,这里是一个纯粹的JS解决方案:

var inputs = document.getElementById('boardinput')
                     .getElementsByTagName('input');

var input_IDs = new Array();
var input_classes = new Array();

for (var i = 0; i < inputs.length; i++) {
    input_IDs[i] = inputs[i].id;
    input_classes[i] = inputs[i].className;
}

答案 1 :(得分:0)

您可以使用JQuery。此代码必须正常工作

var array1 = [];
var array2 = [];
$('#boardinput').children().each(function(index, element){
  array1.push(element.attr('id'));
  array2.push(element.attr('class'));
});

答案 2 :(得分:0)

可能有一种更好的方法可以恢复属性,但是这里是使用jQuery将它们插入到数组中的方法:

$('#boardinput > input').each(function(index, input){
  array1.push(input.attr('id'));
  array2.push(input.attr('class'));
});