jquery - 找到包含空输入的第一个div

时间:2012-02-12 01:53:46

标签: jquery selector

使用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')

3 个答案:

答案 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');