Я пытаюсь найти все родственные элементы, используя метод .siblings ([selector]). Хотя я не уверен, как должен быть написан метод селектора, или где я ошибаюсь с моим текущим методом селектора.
У меня есть HTML:
<div>
<div>
<label for="username">Username</label>
<input class="username" type="text" placeholder="Username" id="username"/>
</div>
<div>
<label for="Password">Password</label>
<input class="password" type="password" placeholder="Password" id="password"/>
</div>
<div>
<button id="login">Login</button>
</div>
</div>
При нажатии кнопки, если поля имени пользователя или пароля не введены, я хочу добавить класс к незаполненным элементам.
При нажатии кнопки запускается скрипт:
if (username not entered) {
jQuery(this).parent('div').siblings(function (a) {
if (a.children('input').length > 0 && a.children('input')[0].hasClass('username'))
return true;
else return false;
}).addClass('input-empty');
}
Однако этот вызов jQuery возвращает как div, содержащий поле имени пользователя, так и div, содержащий поле пароля. Почему это возвращает поле пароля, если я указал, что оно должно содержать входной тег с классом 'username'?