Подтвердить что ты не робот

Как найти ссылку на странице на основе ее атрибута href?

Я пытаюсь найти первую ссылку на мою страницу, которая подходит для "AAA" (пример).

Сначала я попытаюсь получить ссылки с этим href:

$('a[href$="AAA"]')

Затем выберите первый вариант:

$('a[href$="AAA"]')[0]

Затем укажите атрибут title этой ссылки

$('a[href$="AAA"]')[0].attr("title");

Но все это вернет мне "undefined" на каждом шаге. Как это сделать?

Пример привязки:

<a href="contents/medias/images/news/news_test_big.jpg" title="Nouvelle réalisation en ligne 1 FR" target="_blank" class="imageLink">
4b9b3361

Ответ 1

Как насчет:

$("a[href='AAA']").first().attr("title")
// or
$("a[href='AAA']:first").attr("title")

Тогда это зависит, если вы хотите, чтобы href был равен "AAA", содержит его, начинает/заканчивается с ним. В этом случае вы бы не использовали href=, но href$=, например. Ответ Neil содержит различные типы тестов, которые вы можете использовать.

Если бы вы могли опубликовать свой HTML-код, это тоже помогло бы.

Ответ 2

$('a[href$="AAA"]') должен работать нормально, но он ищет href, что конец с AAA.

Try: $('a[href="AAA"]') - равно AAA
Или: $('a[href*="AAA"]') - содержит AAA

Ответ 3

Предполагая, что у вас есть соответствующая ссылка (т.е. та, которая заканчивается с AAA).

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

должен работать.

Причина, по которой вы получаете undefined для attr, заключается в том, что это не объект jQuery после применения индексатора к результату запроса, это фактический элемент DOM. Чтобы использовать attr, он все равно должен быть объектом jQuery. Использование селектора :first уменьшит результаты запроса до первого соответствующего. Поскольку attr вернет значение первого совпадающего атрибута, это не является строго необходимым, но я думаю, что это делает цель более четкой. Если вы установите значение атрибута, attr применится ко всем соответствующим элементам, поэтому в этом случае важно - поэтому я буду использовать его в обоих местах для ясности.

Ответ 4

Как вы его написали, вы ищете href, который заканчивается "AAA". Это ваше намерение?

  • $= означает "заканчивается на"
  • ^= означает, что "начинается с"
  • ~= означает "содержит"

Ссылки: jQuery Селекторы