jQuery получить все div, которые не имеют атрибута classа
получить все div, которые имеют атрибут classа
$('div[class]')
получить все div, которые не имеют атрибута classа
$('div[class!=""]')
Этот код работает, но я не понимаю, почему он работает. Если приведенный выше код работает, то код для всех div с атрибутом classа должен быть
- Элемент или class LIKE для jQuery?
- Как определить, работает ли браузер Chrome с помощью jQuery?
- Как я могу получить идентификатор элемента с помощью jQuery?
- Выбор элементов с определенным цветом фона
- Селектор данных jquery
$('div[class=""]')
что не дает никакого результата.
- jQuery выбрать по classу VS выбрать по атрибуту
- Эффективный, лаконичный способ найти следующий соответствующий друг?
- Почему мой jQuery: not () не работает в CSS?
- Подстановочные знаки в селекторах jQuery
- Должны ли все события jquery быть привязаны к $ (документу)?
- jQuery как найти элемент на основе значения атрибута данных?
- Установите опцию выбора «selected», по значению
- Селекторы jQuery с переменными
Попробуйте с помощью :not()
псевдо-classа селектора :
$('div:not([class])')
редактировать
Описание селекторов jQuery говорит:
-
[attribute]
Соответствует элементам, которые имеют указанный атрибут. -
[attribute=value]
Соответствует элементам, которые имеют указанный атрибут с определенным значением. -
[attribute!=value]
Соответствует элементам, которые либо не имеют указанного атрибута, либо имеют указанный атрибут, но не имеют определенного значения.
Это означает, что div[class=""]
будет выбирать все элементы DIV, у которых есть атрибут class
заданный с пустым значением.
Но последний селектор является проприетарным селектором jQuery, а не селектором CSS . Вам нужно будет использовать :not()
для выбора всех элементов DIV, у которых нет classа:
div:not([class])
Важно понимать, что существуют пустые атрибуты classов, а также элементы без атрибута classа, но для их выбора требуются разные тесты.
Существует множество тестов, которые все делают по-разному. Вот наш HTML для наших тестов:
Empty Class Attribute Full Class Attribute No Class Attribute
Теперь давайте запустим наши тесты (первая часть – это просто строка, которая помогает нам узнать, что было вызвано в оповещении, иначе это бессмысленно) :
$(document).ready(function(e){ // Outputs "Empty Class Attribute Full Class Attribute" alert( "div[class] : " + $('div[class]').text() ); // Outputs "Full Class Attribute" alert( "div[class!=''] : " + $('div[class!=""]').text() ); // Outputs "Empty Class Attribute" alert( "div[class=''] : " + $('div[class=""]').text() ); // Outputs "No class Attribute" alert( "div:not([class]) : " + $('div:not([class])').text() ); });
Вы можете просмотреть этот код в своем браузере, посетив здесь: http://jsbin.com/ijupu
Теперь, вооружившись этими знаниями, если вы хотите выбрать каждый элемент div
на странице с помощью пустого атрибута и без атрибута, используйте следующий селектор:
$("div[class=''], div:not([class])");
Селектор $('div[class=""]')
, по существу, гласит: «Получить все элементы div, чей атрибут classа имеет пустую строку в качестве значения». – Это исключает все элементы div, которые имеют ЛЮБОЕ значение в атрибуте class, отличном от пустой строки, и все элементы div, которые вообще не имеют атрибута classа.
пытаться
jQuery('div[class^=""]')
или
$('div[class^=""]')
это означает получить все div, которые имеют class с любыми именами