1

我在 javascript 中有一个小表单,其中有两个具有相同类名的输入值。我知道你可以通过给它们 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;

4

2 回答 2

3

您可以document.getElementsByClassName()为此使用:

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

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

如果这不起作用 -我可以使用 getElementsByClassName - 你可以迭代所有<input>元素document.getElementsByName()并过滤掉你想要的元素;或使用 jQuery ;-)

于 2013-01-17T14:14:58.660 回答
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对象。

于 2013-01-17T14:25:12.587 回答