我有表格
<div class = "required">
<div class = 'myclass'>
<input type="text" name="login" id="login" value="" class="anotherclass">
</div>
</div>
<div class = "required">
<div class = 'myclass'>
<input type="text" name="pass" id="pass" value="" class="anotherclass">
</div>
</div>
<div class>
<div class = 'myclass'>
<input type="text" name="comment" id="comment" value="" class="anotherclass">
</div>
</div>
我想要获取所有具有“必需”类的元素,并在此div中获取输入值,然后是有效值。我可以通过id获得一个元素的值,但是我想尝试获得由父母班级选择的孩子的值。我得到了数组
var form = $('.required :input')
但是我无法获得输入值。使用数组索引或每个返回错误。
form[0].val();
Uncaught TypeError: form[0].val is not a function
请帮助我,我在哪里错了?
答案 0 :(得分:1)
您需要使用循环来从jQuery对象的集合中分别检索每个输入的值。为此,您可以使用each()
和val()
:
$('.required :input').each(function() {
let val = $(this).val();
console.log(val);
// validate here...
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="required">
<div class="myclass">
<input type="text" name="login" id="login" value="lorem" class="anotherclass">
</div>
</div>
<div class="required">
<div class="myclass">
<input type="text" name="pass" id="pass" value="ipsum" class="anotherclass">
</div>
</div>
<div class>
<div class="myclass">
<input type="text" name="comment" id="commnt" value="dolor" class="anotherclass">
</div>
</div>
关于您看到的错误,这是因为按索引访问jQuery对象,即; $('.foo')[0]
返回一个Element对象,而不是jQuery对象,并且它们没有val()
方法。
答案 1 :(得分:1)
使用类似于[0]的方括号将jquery对象转换为DOMElement。因此,您需要使用以下语法之一:
JavaScript:
form[0].value
或继续使用Jquery:
form.eq(0).val()