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

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

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

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

Затем зелек первый:

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

Затем будьте нацелены на атрибут заголовка этой ссылки

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

Но все это возвращает меня "неопределенный" на каждом шаге. Как сделать это?

Привязка в качестве примера:

<a href="contents/medias/images/news/news_test_big.jpg" title="Nouvelle réalisation en ligne 1 FR" target="_blank" class="imageLink">
18
задан brasofilo 27 September 2014 в 21:25
поделиться

4 ответа

Как насчет:

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

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

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

19
ответ дан 30 November 2019 в 08:03
поделиться

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

Попробуйте: $('a[href="AAA"]') - Equals AAA
Или: $('a[href*="AAA"]') - Содержит AAA

6
ответ дан 30 November 2019 в 08:03
поделиться

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

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

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

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

3
ответ дан 30 November 2019 в 08:03
поделиться

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

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

Ссылки: jQuery Selectors

2
ответ дан 30 November 2019 в 08:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: