jQuery('a[href!="test"][href$=".pdf"]');
Или лучше:
jQuery('a[href$=".pdf"]').not('[href="test"]');
А вот и причина:
Поскольку [name! = "Value"] является расширением jQuery, а не частью CSS
спецификация, запросы с использованием [name! = "value"] не могут использовать преимущества
повышение производительности, обеспечиваемое встроенным DOM querySelectorAll ()
метод. Для повышения производительности в современных браузерах используйте
$ ("your-pure-css-selector"). not ('[name = "value"]') вместо этого.
РЕДАКТИРОВАТЬ: Здесь «лучше» может быть не правильно, [значение $ = «имя»] также не является чистым селектором CSS2, но документация jQuery не упоминает об этом. Здесь требуется дополнительное исследование ...
РЕДАКТИРОВАТЬ 2: Похоже, я не продумал это до конца. Что вы, вероятно, хотите, это:
jQuery('a[href$=".pdf"]').not('a[href*="test"]');
Что гласит: выбрать все a
элементы, которые имеют атрибут href
, который заканчивается на ".pdf", но не выбрать a
элементы, которые имеют "test" в качестве подстроки в любом месте href
атрибут.
http://api.jquery.com/category/selectors/