Как получить родительский идентификатор якорного тега, используя прототип? - PullRequest
0 голосов
/ 20 июля 2010
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
    });
}
);

Я хочу получить идентификатор родительского элемента.

Структура выглядит примерно так.

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

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

</div>

Результат должен быть entity-1

Ответы [ 2 ]

11 голосов
/ 20 июля 2010

Как это:

    $$('a.tag_links').each(function(s) {
        var parentid = $(s).up('div').id;
    });
0 голосов
/ 20 июля 2010

Во-первых, ваш 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 всегда будет содержать класс 'home-page')?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...