Как выбрать все элементы в списке, которые имеют детей, используя jQuery? - PullRequest
1 голос
/ 29 мая 2010

У меня произвольно глубокий список, например:

<ul>
<li></li>
<li>
  <ul>
    <li></li>
    <li>
      <ul>
        <li></li>
        <li></li>
      </ul>
    </li>
  </ul>
</li>

Используя jQuery, как я могу выбрать каждый li в списке, который является не листовым узлом. Другими словами, я хочу выбрать все элементы li, которые имеют дочерние UL.

Спасибо за вашу помощь!

Ответы [ 2 ]

5 голосов
/ 29 мая 2010
jQuery('li:has(ul)');

Подробнее о :has.

2 голосов
/ 29 мая 2010

Вот еще одна альтернатива:

$('li ul').closest('li')

Вероятно, это будет немного быстрее, чем :has в современных браузерах, поскольку он будет использовать собственный метод querySelectorAll в главном селекторе. :has не может использовать встроенную поддержку, поскольку это не стандартный селектор CSS, а расширение jQuery.

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