Я пытаюсь добавить class="required"
к label
элементу, который в его простейшей форме (тип ввода = «текст», появится в следующей структуре от нашей формы программного обеспечения:JQuery: Ориентация элемента с пред()
<div>
<label>X</label>
</div>
<input required type="text">
в основном, этикетка, завернутый в DIV, поэтому следующие прекрасно работает:
var a = $('*[required]').prev();
var b = a.find('label');
if (b)
b.addClass('required');
Однако, иногда разрыв между <input>
и <label>
больше, например, когда это радио-кнопка:
<div>
<label>X</label>
</div>
<span>
<div>
<input required type="radio">
</div>
</span>
Итак, как я могу настроить таргетинг на ярлык, если он немного дальше назад? Я попытался связать .prev()
, но не смог заставить это работать.
'пред()' цели предыдущий собрат у вас есть родитель/ребенок структуры, предотвращает это. Если вы хотите использовать 'prev()', тогда вам нужно настроить таргетинг на prev() родителя и найти дочернего вас. – timo