使用javascript中的数组值定位表单元素

时间:2013-01-17 14:12:26

标签: javascript html arrays dom

我在javascript中有一个小表单,其中两个Input值具有相同的类名。我知道您可以通过给它们ID来定位它们,但有没有办法使用数组值来定位它们?

 <td>
  <input class="inputtextb" type="text" name="adults" maxlength="3">&nbsp;Adults&nbsp;
<input class="inputtextb" type="text" name="children" maxlength="3">&nbsp;Children   above 5 years&nbsp;

2 个答案:

答案 0 :(得分:3)

您可以使用document.getElementsByClassName()

var inputs = document.getElementsByClassName('inputtextb');

inputs[0] // the first input
inputs[1] // the second input

如果不起作用 - can i use getElementsByClassName - 您可以使用<input>迭代所有document.getElementsByName()个元素并过滤掉您想要的元素;或者使用jQuery; - )

答案 1 :(得分:0)

使用以下代码:

var adults = document. getElementsByClassName('inputtextb')[0].value 
var children = document. getElementsByClassName('inputtextb')[1].value 

在Firefox 3中,您可以将其转换为数组,然后在其上调用forEach

var inputVals = document.getElementsByClassName("inputtextb");
var elsArray = Array.prototype.slice.call(inputVals, 0);
elsArray.forEach(function(el) {
    console.log(el.tagName);
});

注意:它不返回数组,它会返回NodeList个对象。