Виберіть <a>, який href закінчується деяким рядком


669

Чи можливо за допомогою jQuery вибрати всі <a>посилання, які href закінчується на "ABC"?

Наприклад, якщо я хочу знайти це посилання <a href="http://server/page.aspx?id=ABC">

Відповіді:


1550
   $('a[href$="ABC"]')...

Документацію щодо вибору можна знайти на веб-сторінці http://docs.jquery.com/Selectors

Для атрибутів:

= is exactly equal
!= is not equal
^= is starts with
$= is ends with
*= is contains
~= is contains word
|= is starts with prefix (i.e., |= "prefix" matches "prefix-...")

20
щось нещодавно змінилося. $ ('[href $ = - abc]') використовується для роботи. Тепер для цього потрібні лапки $ ('[href $ = "- abc"]') Я не знаю, коли вона змінилася. Можливо, це завжди повинно було вимагати котирування, і просто траплялося працювати раніше.
gman

12
Зауважте, що "ABC" відрізняється від регістру! (Щойно витратили досить багато часу, щоб зрозуміти, що це…)
Луї Сомерс

Як отримати href не містить ABC в jquery
sf.dev

1
@ sf.dev$('a').filter(function() { return !this.href || !this.href.match(/ABC/); });
tvanfosson

9
Це працює з ванільним джавасцирпом зараз. Ви можете просто використовувати document.querySelectorAll('a[href$="ABC"]')для досягнення цього.
k-nut

21
$('a[href$="ABC"]:first').attr('title');

Це поверне заголовок першого посилання з URL-адресою, яка закінчується на "ABC".


4
Виправлення: Закінчується ABC
sparkyspider

Насправді є незначна різниця. Це дозволить вибрати перше посилання з заданим href, що корисно, якщо вам потрібно змінити лише один.
alekwisnia

15
$("a[href*='id=ABC']").addClass('active_jquery_menu');

2
Для майбутніх відвідувачів, яким може допомогти ця відповідь.
sscirrus

@ Зауважте, що ваша відповідь правильна, лише якщо ОП ABCтрапляється посилатися на ідентифікатор.
sscirrus


2

На випадок, якщо ви не хочете імпортувати велику бібліотеку, наприклад jQuery, щоб виконати щось таке тривіальне, ви можете скористатися вбудованим методом querySelectorAll. Практично всі рядки селектора, що використовуються для jQuery, також працюють з методами DOM:

const anchors = document.querySelectorAll('a[href$="ABC"]');

Або якщо ви знаєте, що є лише один відповідний елемент:

const anchor = document.querySelector('a[href$="ABC"]');

Зазвичай ви можете опустити лапки навколо значення атрибута, якщо значення, яке ви шукаєте, буквено-цифрове, наприклад, тут, ви також можете використовувати

a[href$=ABC]

але котирування більш гнучкі і взагалі більш надійні .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.