div:not([foo=''])выберет и первый, и второй divэлементы. Если вам нужны только divэлементы, для которых атрибут foo установлен в пустую строку, вы должны использовать:
div[foo]:not([foo=''])
Если вам нужны все элементы с атрибутом, fooкоторый не является ни yили z, вы должны использовать:
Предположим, есть 100 div, из которых значение foo отсутствует (foo = '') для 50 div, а другие 50 div имеют другое значение foo, например, foo = x или y и т. Д., Тогда вам нужно написать 50 селекторов, если мы будем следовать приведенному выше решению
Shoaib Chikate
2
Операция не хочет этого: «Я хочу настроить таргетинг только на первый из следующих div с помощью селектора атрибутов css»
Сунил Хари
Ваш ответ соответствует его требованиям, но не общему решению, которое дали другие люди.
Шоаиб Чикате
@ShoaibChikate Вы правы. Я хочу более универсальное решение. Я обновил вопрос, чтобы отразить это.
Ответы:
Используйте такой код:
источник
http://jsfiddle.net/gsLvuys0/
источник
Одна из проблем с принятым ответом заключается в том, что он также выберет элементы, у которых вообще нет
foo
атрибута. Рассматривать:div:not([foo=''])
выберет и первый, и второйdiv
элементы. Если вам нужны толькоdiv
элементы, для которых атрибут foo установлен в пустую строку, вы должны использовать:Если вам нужны все элементы с атрибутом,
foo
который не является ниy
илиz
, вы должны использовать:источник
Вы можете выбрать первый, используя
FIDDLE
Прочитайте это
источник