我正在尝试找到我的网页的第一个链接,该链接适合"AAA"
(示例)。
我首先尝试使用此href获取链接:
$('a[href$="AAA"]')
然后选择第一个:
$('a[href$="AAA"]')[0]
然后定位此链接的title属性
$('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">
答案 0 :(得分:19)
怎么样:
$("a[href='AAA']").first().attr("title")
// or
$("a[href='AAA']:first").attr("title")
那么它取决于你是否希望href等于'AAA',包含它,开始/结束它。在这种情况下,您不会使用href=
,而是使用href$=
。 Neil's answer包含您可以使用的不同类型的测试。
如果您可以发布HTML代码,也会有所帮助。
答案 1 :(得分:6)
$('a[href$="AAA"]')
应该可以正常运行,但它会搜索结束的href
个。
尝试:
$('a[href="AAA"]')
- 等于AAA
要么:
$('a[href*="AAA"]')
- 包含AAA
答案 2 :(得分:3)
假设您有匹配的链接(即以AAA结尾的链接)。
$('a[href="AAA"]:first').attr('title');
应该有用。
您为attr
未定义的原因是,在将索引器应用于查询结果后,它不是jQuery对象,它是实际的DOM元素。要使用attr
,它仍然需要是一个jQuery对象。使用:first
选择器会将查询结果减少到第一个匹配的查询结果。由于attr
将返回第一个匹配属性的值,因此它并非绝对必要,但我认为它使意图更清晰。如果你去设置属性值,attr
将适用于所有匹配的元素,所以,在这种情况下,它很重要 - 因此我会在两个地方使用它以保持清晰。
答案 3 :(得分:2)