JQuery: выберите элемент только в том случае, если у него нет имени класса

Как я могу использовать jQuery для выбора элемента только в том случае, если он не имеет классов?

Я пишу страницу, которая позволяет html-автору переопределять действие jQuery по умолчанию, добавляя класс к элементу. Это должен быть любой класс вообще.

Таким образом, разметка может быть:

<ul>
  <li class="override"></li>
  <li></li>
</ul>

Я хотел бы, чтобы jQuery выбирал только второй элемент списка, потому что у него нет класса.

Я посмотрел на .hasClass(), но для него, похоже, требуется определенное имя класса.

Спасибо!

Ответ 2

Это должно сделать это:

$('li:not([class]),li[class=""]')

Демо: http://jsfiddle.net/aMC5X/

В первой части li:not([class]) используется "not selector" с "имеет атрибут" , чтобы найти любые элементы li, которые вообще не имеют атрибут class.

Вторая часть li[class=""] находит любые элементы li, у которых атрибут установлен в пустую строку.

Ответ 3

Это должно сделать следующее: $('li').not('li[class]')

Ответ 4

Вы можете использовать это:

if (!jQuery('li').hasClass('myClass') {
    do something...
}