Ответ 1
$('li:not([class])')
Как я могу использовать jQuery для выбора элемента только в том случае, если он не имеет классов?
Я пишу страницу, которая позволяет html-автору переопределять действие jQuery по умолчанию, добавляя класс к элементу. Это должен быть любой класс вообще.
Таким образом, разметка может быть:
<ul>
<li class="override"></li>
<li></li>
</ul>
Я хотел бы, чтобы jQuery выбирал только второй элемент списка, потому что у него нет класса.
Я посмотрел на .hasClass(), но для него, похоже, требуется определенное имя класса.
Спасибо!
$('li:not([class])')
Это должно сделать это:
$('li:not([class]),li[class=""]')
Демо: http://jsfiddle.net/aMC5X/
В первой части li:not([class])
используется "not selector" с "имеет атрибут" , чтобы найти любые элементы li
, которые вообще не имеют атрибут class
.
Вторая часть li[class=""]
находит любые элементы li
, у которых атрибут установлен в пустую строку.
Это должно сделать следующее: $('li').not('li[class]')
Вы можете использовать это:
if (!jQuery('li').hasClass('myClass') {
do something...
}