UL селектора jQuery, который не содержит LI - PullRequest
0 голосов
/ 14 сентября 2011

Предполагая следующий HTML-код, как я могу найти все UL, которые не содержат lis?IE: В этом случае ul3 и ul4?

Я вижу, что у jQuery есть селектор has, но я не вижу обратного?Я также не понимаю, как я могу объединить, а не выполнить то, что мне нужно.

<div id="div1">
    <ul id='ul1'>
        <li>
        </li>
    </ul>

    <ul id='ul2'>
        <li>
        </li>
    </ul>

    <ul id='ul3'>
    </ul>

    <ul id='ul4'>
    </ul>
</div>

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

Также я не понимаю, как я мог комбинировать, а не выполнять то, что мне нужно.

Насколько я могу сказать, это так просто, как:

$('ul:not(:has(li))')
1 голос
/ 14 сентября 2011

Используйте селектор :empty (если вы уверены, что нет и потомков текстовых узлов).

$('ul:empty');

В противном случае вы можете использовать ...

$('ul').filter(function() { return ! $(this).find('li').length; });
...