Учитывая последовательность элементов Label и Input формы, таких как:
<div class="labelEditwrap">
<div class="editor-label">
<label for="Address">Address</label>
</div>
<div class="editor-field">
<input class="text-box single-line" id="Address" name="Address" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Address"></span>
</div>
</div>
Я пытаюсь выбрать самый внешний div, когда текстовое поле получает фокус, чтобы я мог выделить как метку, так и ввод:
$("input").focus(function () {
$(this).parent().parent().addClass("curFocus")
});
Я пробовал несколько комбинаций, включая:
$(this).parent().parent() // seems the most obvious
$(this).parent().parents("div:first")
Еще один вопрос, касающийся .parent (). Parent (), был решен путем обнаружения синтаксической ошибки, не связанной с селектором.Тем не менее, в этом случае я могу увидеть свой класс хайлайтеров, если поднимусь только на один родительский уровень (выделяется только div редактора), а также если я поднимусь на 3 уровня (выделит контейнер, содержащий полную форму).
THX
ОК .... это не селектор.Все предложенные альтернативы (и оригинал) правильно «выбирают» внешнюю оболочку div.Проблема заключалась в CSS и в том, как Float применяются к элементам Label и Editor.Этот CSS будет производить правильное выделение, а также позволяет полям меток / редакторов выравниваться правильно.[whew]
Вам, ребята, лучший способ закрыть / отредактировать / переименовать вопрос в надежде помочь другим избежать моего 4-часового испытания двойного выстрела.
- высоко цените затраченное время1018 *