使用jquery,如何找到包含没有值的输入的第一个div?
<div class="field">
<input type="text" value="12">
</div>
<div class="field">
<input type="text" value="13">
</div>
<div class="field">
<input type="text">
</div>
<div class="field">
<input type="text">
</div>
$('.field input').filter('text[value=""]').parent().addClass('first_empty')
答案 0 :(得分:4)
你太近了。将元素添加到属性选择器,或':text[value=""]'
也可以。 DEMO
$('.field :input').filter('input:text[value=""]')
.parent(':first')
.addClass('first_empty');
答案 1 :(得分:2)
选择器不起作用,因为用户输入输入会影响value
属性,而不会影响value
属性。
你需要这样的东西(我用普通的JS写这个,因为我不使用jQuery):
function findFirstEmptyInput() {
var qsa = document.querySelectorAll(".field input"), l = qsa.length, i;
for( i=0; i<l; i++) {
if( qsa[i].value == '') return qsa[i];
}
return false;
}
答案 2 :(得分:1)
$('.field > input:text[value=""]').parent().addClass('first_empty');