на jQuery.parent() выберите несколько уровней вверх
у меня такая иерархия:
<search>
<inner>
<input/>
<p/>
<img/>
</inner>
</search>
то, что я пытаюсь сделать, это выбрать родитель <search>
на <input/>
onFocus, но если я делаю это:
$(function(){
$("input").focus(function(){
console.log($(this).parent("search"));
});
});
консоль показывает пустой массив. Есть ли чистый способ выбрать родителя более чем на один уровень выше? Единственный известный мне способ сделать это -.parent().parent("search")
, который будет работать, но не очень чистый, и если бы я пытался выбрать Родительский 5 уровней, было бы просто ужасно.
2 ответов
попробовать .closest()
:
для каждого элемента в наборе получите первый элемент, соответствующий селектор путем испытания самого элемента и прохождения через него предки на дереве дома.
$(this).closest("search")
С документы:
The .родители и. методы parent () аналогичны, за исключением того, что последний перемещается только на один уровень вверх по дереву DOM.
попробуйте использовать .