Выберите <a>который href заканчивается некоторой строкой
Возможно ли использование jQuery для выбора всех ссылок <a>
, которые заканчиваются с помощью ABC?
Например, если я хочу найти эту ссылку <a href="#" onclick="location.href='http://server/page.aspx?id=ABC'; return false;">
Ответы
Ответ 1
$('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-...")
Ответ 2
$('a[href$="ABC"]:first').attr('title');
Это вернет заголовок первой ссылки с URL-адресом, который заканчивается на "ABC".
Ответ 3
$("a[href*='id=ABC']").addClass('active_jquery_menu');
Ответ 4
$("a[href*=ABC]").addClass('selected');
Ответ 5
На всякий случай, если вы не хотите импортировать большую библиотеку, например jQuery, для выполнения чего-то такого тривиального, вы можете вместо этого использовать встроенный метод querySelectorAll
. Почти все строки селектора, используемые для jQuery, работают также с методами DOM:
const anchors = document.querySelectorAll('a[href$="ABC"]');
Или, если вы знаете, что существует только один соответствующий элемент:
const anchor = document.querySelector('a[href$="ABC"]');
Обычно вы можете опускать кавычки вокруг значения атрибута, если искомое значение является буквенно-цифровым, например, здесь вы также можете использовать
a[href$=ABC]
но цитаты более гибкие и в целом более надежные.