我认为对于 .closest()
来说这会是一个简单的事情事实证明并非如此(或者也许我犯了一个愚蠢的错误)。
我想做的是访问 <label>
来自 <div>
的元素与内部文本:I AM HERE
:
<li>
<label>I WANT TO ACCESS THIS ELEMENT</label>
<div>...</div>
<div>
<input/>
<input/>
<input/>
<div id="start">I AM HERE</div>
</div>
</li>
我的第一个猜测是尝试这个:
$('#start').closest('label')
但它不会返回任何内容。
最佳答案
.closest()
仅查找初始选择的祖先元素。您需要 .closest()
和 .siblings()
或 .children()
的组合:
//find closest parent `<li>` element and then find that element's child `<label>` element
$('#start').closest('li').children('label');
//find the closest parent `<div>` element and then find that element's sibling `<label>` element
$('#start').closest('div').siblings('label');
更新
一个非常快的选择器是使用 .prev()
两次和 .parent()
,如下所示:
$('#start').parent().prev().prev();
关于jquery - 使用 jQuery .closest() 遍历 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9421425/