2012-09-06 14 views
0

我有一個「A」標籤的保持,我想知道哪些類它的父母已經得到...所以:如何找到在javascript分配給元素類(不包括jQuery的)

<div class="topone"> 
    <div class="middleone"> 
     <a href="#" class="thisone">tag</a> 
    </div> 
</div> 

所以我有「thisone」,但我想知道是否有它上面一個div的地方,有類「天元」

...沒有jQuery的,雖然,不能使用jquery爲此

+1

obj.className會給你的連接類名。 –

+0

這可能有助於http://stackoverflow.com/questions/6856871/getting-parent-div-of-element-javascript – ramsinb

回答

4

可以使用.className屬性來訪問元素的類和.parentNode去父元素。

var classes = []; 
for(var el = document.getElementById('#yourlink'); el; el = el.parentNode) { 
    classes.push(el.className); 
} 

注意classes[0]包含的元素本身的類 - 但我敢肯定,這是沒有問題的,你相應地修改代碼,如果你不希望出現這種情況。

+0

完美,謝謝! – Paul

1

您可以使用.parentNodeclassName屬性。

這是這樣的:

document.getElementById("MyElement").className 

Fiddler Demo

+0

但「MyElement」從哪裏來?這並沒有真正回答這個問題 – Paul

0

你可以寫這樣的事情

給你的標籤一個id,說bottomone

var e = document.getElementById("bottomone").parentNode.className會給你的類名作爲中間的一個。

而對於上格, 你可以寫

var e = document.getElementById("bottomone").parentNode.parentNode.className 
+0

但他不確定元素在哪裏 –

0
var element =document.getElementById("topone");  
var liArray = element.childNodes; 
     var i=0, item; 
    if(element != null) 
    {var status=0; 
     while (item = liArray[i++]) { 
     if (item.nodeType == 1) { 
     if(item.className=="thisone"){status=1;} 
     } 
     } 
    if(status==1){alert('it have parent node');}else{alert('it doen`t have parent node');} 
    }else{alert('it doesn`t have parent node');} 

我已經在我的水平按照您的要求嘗試可能它幫助你

相關問題