Выберите <a>, какой раздел заканчивается строкой


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"]'), я не знаю, когда он изменился. Может быть, всегда предполагалось, что нужно кавычки, а раньше это просто работало.
мужчина

12
Обратите внимание, что «ABC» чувствителен к регистру! (Просто потратил некоторое время, чтобы понять это ...)
Луи Сомерс

Как получить href не содержит ABC в jquery
sf.dev

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

9
Это работает с ванильным Javascirpt сейчас. Вы можете просто использовать 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.