JQuery缩写多个父代选择器

问题描述:

我很好奇并且无法在网上找到任何东西,但是我有一个代码字符串,其目标是父代父代的父代的父代。JQuery缩写多个父代选择器

最终看起来像这样:.parent().parent().parent().parent()

我想知道是否有任何方法来减少这个,而不是4我可以设置一个重复的父母x次。

UPDATE

回答上来问我要使用选择的很多东西。我不打算针对特定的选择器。因此,我为什么使用多个父母。

我正在寻找缩小多个操纵器的方法。

+0

您可以用'.closest()'你能分享HTML标记吗? – guradio

+1

或'jQuery.parents(SELECTOR)' – Rayon

与.EQ()尝试:

$('#element').parents().eq(2); 
+0

抱歉Jayesh没有工作。 – DCdaz

使用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,而不只是向上一级。

在这里阅读更多:https://api.jquery.com/parents/#parents-selector

如果父母有一个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>