Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Какой селектор выбирает элементы определенной вложенности в jQuery? (https://javascript.ru/forum/jquery/22066-kakojj-selektor-vybiraet-ehlementy-opredelennojj-vlozhennosti-v-jquery.html)

Modder 05.10.2011 01:37

Какой селектор выбирает элементы определенной вложенности в jQuery?
 
Например, необходимо выбрать все теги <li> до, например(!), 2-го уровня вложенности.
Код:
<div>
<ul><li>Level 1
  <ul><li>Level 2
     <ul><li>Level 3
        <ul><li>Level 4
        </li></ul>
     </li></ul>
  </li></ul>
</li></ul>
</div>

Т.е. из этого кода необходимо выбрать Level 1, Level 2, но не выбирать Level 3, Level 4.
Уровней может быть неизвестно много.

Предложение
$("div > ul > li, div > ul > li > ul > li")
не подходит.

zebra 05.10.2011 04:32

Не уверен что подойдет, но такое накатал ;)
$('div > ul').find('li').filter(function(index, elem) {
    return ($(elem).parents('li').length <= 1);
});

Modder 05.10.2011 13:27

zebra,
Спасибо здороветсткое! :)
Только немного облегчу код:
$('li').filter(function() {
    return ($(this).parents('li').length <= 1);
});


Часовой пояс GMT +3, время: 15:28.