我在javascript中有一个小表单,其中两个Input值具有相同的类名。我知道您可以通过给它们ID来定位它们,但有没有办法使用数组值来定位它们?
<td>
<input class="inputtextb" type="text" name="adults" maxlength="3"> Adults
<input class="inputtextb" type="text" name="children" maxlength="3"> Children above 5 years
答案 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
个对象。