Я пытаюсь найти первую ссылку своей страницы, к какому 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">
Как насчет:
$("a[href='AAA']").first().attr("title")
// or
$("a[href='AAA']:first").attr("title")
Тогда это зависит от того, хотите ли вы, чтобы href был равен 'AAA', содержит его, начинается / заканчивается им. В этом случае вы не будете использовать, например, href =
, но href $ =
. Ответ Нила содержит различные типы тестов, которые вы можете использовать.
Если бы вы могли разместить свой HTML-код, это тоже помогло бы.
$('a[href$="AAA"]')
должен работать нормально, но он ищет href
ы, которые заканчиваются на AAA.
Попробуйте:
$('a[href="AAA"]')
- Equals AAA
Или:
$('a[href*="AAA"]')
- Содержит AAA
Предполагая, что у вас есть подходящая ссылка (т.е. та, которая заканчивается на AAA).
$('a[href="AAA"]:first').attr('title');
должно сработать.
Причина, по которой вы получаете неопределенность для attr
, заключается в том, что это не объект jQuery после применения индексатора к результату запроса, а реальный элемент DOM. Чтобы использовать attr
, он все еще должен быть объектом jQuery. Использование селектора :first
сократит результаты запроса до первого подходящего элемента. Поскольку attr
вернет значение первого подходящего атрибута, это не является строго необходимым, но я думаю, что это делает намерение более ясным. Если вы хотите установить значение атрибута, attr
будет применяться ко всем совпадающим элементам, так что в этом случае он важен - поэтому я бы использовал его в обоих местах для ясности.
Как вы написали, вы ищете href, который заканчивается на "AAA". Это ваше намерение?
$=
означает "заканчивается на" ^=
означает "начинается с"~=
означает "содержит"Ссылки: jQuery Selectors