2010-07-20 44 views
0
Event.observe(window, 'load', 
function() { 

    $$('a.tag_links').each(function(s) { 
     //alert(s.parent.parent.id); //How to get id of its parent to parent 
    }); 
} 
); 

我想獲取父元素的id。如何使用原型獲取錨標記的父ID?

結構是這樣的。

<div class="home-page" id='entity-1'> 
    <div class="index-page-category"> 

    <a href="/entities/category/food" class="tag_links">food</a> 

</div> 

的結果應該是實體-1

回答

11

像這樣:

$$('a.tag_links').each(function(s) { 
     var parentid = $(s).up('div').id; 
    }); 
+0

感謝你..它工作... – 2010-07-20 11:22:54

0

首先,你的HTML是不完整的。它看起來像:

<div class="home-page" id='entity-1'> 
    <div class="index-page-category"></div> 

    <a href="/entities/category/food" class="tag_links">food</a> 

</div> 

或者這樣:

<div class="home-page" id='entity-1'> 
    <div class="index-page-category"> 

     <a href="/entities/category/food" class="tag_links">food</a> 

    </div> 
</div> 

無論哪種方式,你應該能夠通過使用來實現這一目標:

$$('a.tag_links').each(function(s) { 
    var divId = $(s).previous('div.home-page').id; 
}); 

我想象你的理由迭代「a.tag_links」是你有一堆鏈接?基於這種情況,HTML結構是否始終如一(外部div將始終包含一類「主頁」)?

+0

@rickp $(本).closest不是函數 這是我收到的錯誤。我在這裏添加了$符號,即$$('a.tag_links') – 2010-07-20 11:18:30

+0

@nickp這是jQuery我相信 – robjmills 2010-07-20 11:21:29

+0

啊,對不起。你應該使用.previous('div.home-page').id; – rickp 2010-07-20 11:22:47