2010-07-20 2 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 
    }); 
} 
); 

Я хочу получить идентификатор родительского элемента.Как получить родительский идентификатор привязанного тега с использованием прототипа?

Структура что-то вроде этого.

<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

благодаря u .. он работал ... –

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 не является функцией это ошибка, я получаю. и я добавил $ sign здесь, то есть $$ ('a.tag_links') –

+0

@nickp Это jQuery, я считаю – robjmills

+0

А, извините. Вы должны использовать .previous ('div.home-page'). Id; – rickp

Смежные вопросы