Добавить класс для родителей, у которых есть дети, использующие jquery - PullRequest
2 голосов
/ 07 декабря 2011

Как мне добавить класс только к li родителю, у которого есть дети?

<ul>
    <li><a href="#">parent</a></li>
    <li><a href="#">parent</a>
    <ul>
        <li>child</li>
        <li>child</li>
    </ul>
</ul>

Ответы [ 2 ]

5 голосов
/ 07 декабря 2011
$('li > *').parent().addClass(...);

или

$('li').has('*').addClass(...);

Первая версия может быть немного быстрее, если вы сделаете:

$('li > :first-child').parent().addClass(...);

... трудно сказать, но без тестирования.

Все они используют полностью допустимые селекторы CSS.

2 голосов
/ 07 декабря 2011
$('li:has(ul)').addClass('test-class');

Мне нравится, как просто jQuery делает некоторые вещи.

Вот jsfiddle кода выше: http://jsfiddle.net/p9M73/

Вот документация для :has(): http://api.jquery.com/has-selector/

...