jquery - найти первый div, содержащий пустой ввод - PullRequest
1 голос
/ 12 февраля 2012

Используя 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 ]

4 голосов
/ 12 февраля 2012

Вы были так близко. Добавьте элемент в селектор атрибута, или ':text[value=""]' также будет работать. DEMO

 $('.field :input').filter('input:text[value=""]')
                   .parent(':first')
                   .addClass('first_empty');
2 голосов
/ 12 февраля 2012

Селекторы не будут работать, потому что ввод данных пользователем влияет на 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;
}
1 голос
/ 12 февраля 2012
$('.field > input:text[value=""]').parent().addClass('first_empty');
...