Селектор по несовпадению с атрибутом
Соответствует всем элементам, у которых значение атрибута attribute не равно value. Если value состоит из нескольких слов, между которыми есть пробелы, то нужно заключать value в кавычки. Если value не содержит пробелов — кавычки не обязательны.
Примеры использования:
$('[cellspacing != 5]') | вернет все элементы (очевидно таблиц), с параметром cellspacing не равным 5 |
$('[class != bomb]') | вернет все элементы, классы которых не равны bomb |
$('[title != "два слова"]') | вернет все элементы с атрибутом title, не равным строке "два слова". Обратите внимание, что если значение атрибута содержит более одного слова, то необходимо использовать кавычки. |
Замечание: Во всех версиях jQuery, начиная с 1.2, использование символа "@" перед атрибутом не нужно.
Рассматриваемый селектор является надстройкой библиотеки jQuery, а не частью официальной css спецификации (как большинство других селекторов). Поэтому, при поиске, jQuery не сможет использовать быструю нативную функцию querySelectorAll(). В связи с этим, для улучшения производительности рекомендуется в начале сузить круг искомых элементов, и уже среди них искать нужные элементы с помощью .filter():
Добиться такого же результата можно с помощью метода .not()
В действии
Все элементы div, не имеющие подсказки (аттрибут title) с текстом "Суровый элемент" будут окрашены в подозрительно вызывающие цвета: