jQuery ul, фильтрация вложенных списков - PullRequest
0 голосов
/ 12 декабря 2011

Я новичок в jquery и обучения через официальную документацию.Во время чтения у меня были html-коды, подобные этому ...

   <ul class="level-2">
      <li class="item-a">A</li>
      <li class="item-b">B
          <ul class="level-3">
             <li class="item-1">1</li>
             <li class="item-2">2</li>
          </ul>
      </li>
      <li class="item-c">C</li>
   </ul>

Я хотел установить backgroundColor / border, который является прямым потомком "ul.level-2" ... кроме дочернего, который вложил"ul" ... я успешно приобрел его через ...

   $("ul.level-2").children("li").each(function(){
       var theChild = $(this).children("ul").length;
       if(!theChild){
           $(this).css("backgroundColor", "red");
       };
   }); 

Теперь мой вопрос - jquery для записи короткого кода ... как я могу использовать селектор / фильтр jquery для сокращения этого кода ..Заранее спасибо ...

1 Ответ

3 голосов
/ 12 декабря 2011

попробуйте

$("ul.level-2 > li:not(:has(ul))").each(function(){
$(this).css("backgroundColor", "red");
})

и самый короткий

  $("ul.level-2 > li:not(:has(ul))").css("backgroundColor", "red");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...