JQuery缩写多个父代选择器
问题描述:
我很好奇并且无法在网上找到任何东西,但是我有一个代码字符串,其目标是父代父代的父代的父代。JQuery缩写多个父代选择器
最终看起来像这样:.parent().parent().parent().parent()
。
我想知道是否有任何方法来减少这个,而不是4我可以设置一个重复的父母x次。
UPDATE
回答上来问我要使用选择的很多东西。我不打算针对特定的选择器。因此,我为什么使用多个父母。
我正在寻找缩小多个操纵器的方法。
答
使用parents()
与选择,你需要停止:
alert($('.e').parents('.b').attr('id'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="a">
<div class="b" id="thatsMe">
<div class="c">
<div class="d">
<div class="e">
</div>
</div>
</div>
</div>
</div>
答
您可以使用.parents()
,与选择作为可选参数。 这将遍历整个DOM,而不只是向上一级。
答
如果父母有一个ID或类,你也可以使用.closest()
console.log($("p:eq(0)").parent().parent().parent().html());
console.log($("p:eq(0)").closest("#1").html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="1">
<div id="2">
<div id="3">
<p>ME!</p>
</div>
</div>
</div>
您可以用'.closest()'你能分享HTML标记吗? – guradio
或'jQuery.parents(SELECTOR)' – Rayon