2015-08-11 3 views
0

Я пытаюсь получить немедленных childs (li) для верхнего родителя (ul). Но я получаю всех детей внутреннего и внутреннего уровня (li).JQuery альфа-числовая сортировка проблема

Структура

<ul id="top_parent"> 
    <li>xyz</li> 
    <li>xyz</li> 
      <ul> 
       <li> abc </li> 
      </ul> 
    <li>xyz</li> 
    <li>xyz</li> 

</ul> 

Это код, я использую:

var elems = $('#top_parent').children('li'); 

Кто-нибудь может предложить мне, как я могу получить только непосредственные дети.

+0

'children()' дает только прямые дети – Tushar

+0

дети должны искать только один уровень вниз. – dpanshu

+0

Ваш HTML неверен: у вас есть UL как прямой ребенок другого UL. – Mohayemin

ответ

0

Согласно jQuery documentation.children() должен делать именно то, что вы хотите:

Получить детей каждого элемента в наборе соответствующих элементов, необязательно фильтруется селектором.

есть,

$("#top_parent").children("li") 

такая же, как

$("#top_parent > li") 

Вот фрагмент кода, который показывает, что этот метод работает, как ожидалось.
только дети li s в настоящее время окрашены в зеленый цвет:

var elems = $('#top_parent').children('li'); 
 

 
elems.css('color', 'green');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul id="top_parent"> 
 
    <li>xyz</li> 
 
    <li>xyz</li> 
 
      <ul> 
 
       <li> abc </li> 
 
      </ul> 
 
    <li>xyz</li> 
 
    <li>xyz</li> 
 
</ul>

Похоже, что проблема где-то еще в вашем коде, но не на этой линии.

+0

'дети' делает то же самое – Tushar

+0

@Tushar Да, вы правы. Благодаря :) –

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