#jquery #filter
#jquery #Фильтр
Вопрос:
У меня есть ссылка, которая в данный момент:
a href="#"
но вскоре клиент изменит ссылку на
a href="something"
Когда ссылка становится чем-то, что я хотел бы использовать jQuery для изменения css, но я не уверен, как написать фильтр для атрибута (href =»»)…
Ответ №1:
Вот два варианта, которые вы можете использовать для сравнения вашего href
атрибута:
Href пуст:
$('a[href=""]') or $('a[href="#"]')
Href не является пустым:
$('a[href!=""]') or $('a[href!="#"]')
При сравнении атрибутов jQuery предлагает несколько операторов для сравнения:
= Is Equal
!= Is Not Equal
^= Starts With
$= Ends With
*= Contains
Комментарии:
1. 1 Спасибо, мне нужны были Contains, но я не смог вспомнить синтаксис
2. Большое спасибо! Совсем забыл об этих нескольких операторах сравнения!
Ответ №2:
Вот селектор для привязки с href, не равным hash:
$('a[href!="#"]')
Комментарии:
1. 1. Я пропустил момент, когда OP хочет выполнить отрицательный поиск.
2. NP, мы все иногда так делаем 🙂
Ответ №3:
Быстрое чтение селекторов jQuery должно сработать (как упоминалось Rionmonster выше). Я просто хотел бы отметить, что вы также можете проверять наличие элементов с определенным атрибутом (который, я полагаю, вам действительно понадобится?) выполнив что-то вроде
$('a[href]')
Это позволяет находить <a>
элементы, которые имеют определенный href
атрибут, будь то хэш или что-либо еще. Подходит для фильтрации интерактивных якорей.
Ответ №4:
Прочитайте о селекторах jQuery: