jQuery选择Href By Text

时间:2013-11-28 11:50:44

标签: jquery jquery-selectors selector href

我有以下html:

<a href="#DDD">Link here </a>

并希望能够通过说出一个带有“Link Here”文本的A标签来选择它

我试过了:

    $('a[value="Link here"]')
    $('a :contains("Link here")')

但这不起作用。

似乎无法看到我出错的地方。

2 个答案:

答案 0 :(得分:15)

标记名和伪选择器之间不应该有空格。空格表示:contains("Link here")a内的另一个元素,而不是同一个元素。你应该使用:

$('a:contains("Link here")')

JSFiddle

:contains将选择一个元素,即使参数中的元素多于该元素(即:&#39;此处链接bla bla bla&#39;将被返回)。如果您需要内部的文字准确地“在这里链接”,您可以使用filter()

$('a').filter(function(){
    return this.innerHTML == 'Link here '; // (Did you know you have a space at the end?)
}).css({background:"#F00"});

JSFiddle

答案 1 :(得分:2)

$("a.myclass:contains('Text')")

这个工作:D