2014-03-04 161 views
5

所有的父母,我需要選擇具有使用jQuery選擇具有相同的類名

同一類別的所有的父母現在

我只能選擇一個元素,但我想選擇所有的父元素

<div class="text"> 
<div class="text"> 
    <div class="text"> 
    <div class="text"> 
    <div class="text"> 
    <div class="text-3"> 
     hi 
    </div> 
    </div> 
    </div> 
    </div> 
</div> 
</div> 
在此

我需要選擇.text-3具有text的父元素的類名

+0

請出示你的代碼。 – Amit

+0

你可以試試'$('。text-3')。parents('。text')' – Satpal

+0

請選擇所有含有class'text'的父母?相當罕見嵌套如此多的班級同名。 – Raptor

回答

3

使用.parents()

說明:獲取每個元素的祖先在當前匹配的元素集合,其任選被一個選擇器過濾的。

$('.text-3').parents('.text') 

遍歷每個元素,可使用:

$('.text-3').parents('.text').each(function(){ 
    //code here 
}); 

Working Fiddle

4

您可以使用parents()

獲取當前匹配的 元素集中每個元素的祖先,可選地通過選擇器進行過濾。

var parents = $('.text-3').parents('.text') 

has()

減少匹配元素到那些具有使選擇或DOM元素相匹配的後代 的。

var parents = $('.text').has('.text-3') 
1

嘗試使用.parents():從裏

$('.text-3').parents('.text') 

實施例nked site:

查找每個b的所有父元素。

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>parents demo</title> 
    <style> 
    b, span, p, html body { 
    padding: .5em; 
    border: 1px solid; 
    } 
    b { 
    color: blue; 
    } 
    strong { 
    color: red; 
    } 
    </style> 
    <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
</head> 
<body> 

<div> 
    <p> 
    <span> 
     <b>My parents are: </b> 
    </span> 
    </p> 
</div> 

<script> 
var parentEls = $("b").parents() 
    .map(function() { 
    return this.tagName; 
    }) 
    .get() 
    .join(", "); 
$("b").append("<strong>" + parentEls + "</strong>"); 
</script> 

</body> 
</html> 

我的父母是:SPAN,P,DIV,BODY,HTML