Я знаю, что этот вопрос должен быть простым для гуру jQuery, но я, честно говоря, понятия не имею, как этого добиться.
У меня есть следующий HTML:
<div class="panel_contents">
<ul>
<li><a href="#">A</a></li>
<li><a href="#">B</a></li>
<li></li>
<li></li>
</ul>
</div>
Мне нужно нацелиться на пустое <li>
и присоединить к ним класс, например class = "empty" . Я не хочу изменять HTML-код, чтобы вручную добавлять классы для презентационных целей, если мне это не нужно.
Я начал JSFIDDLE здесь для демонстрационных целей.
Спасибо миллион за любую помощь с этим.
-
РЕДАКТИРОВАТЬ 3 [16.09.14]
Сегодня я признаю, что, возможно, использование jQuery может и не быть действительно необходимым, поскольку пустые элементы могут быть нацелены на CSS с помощью псевдоселектора :empty
, который на самом деле довольно хорошо поддерживается во всех браузерах вплоть до IE8 (хотя частичная поддержка) - http://caniuse.com/#search=empty
РЕДАКТИРОВАТЬ 2
Вот Другое решение .
Это решение ищет <a href>s
внутри <li>
, если оно есть, оно НЕ добавит класс, если нет <a href>s
, тогда добавляется класс empty .
РЕДАКТИРОВАТЬ 1
Спасибо Даниилу за решение. Вот РАБОЧАЯ ДЕМО