jQuery按文本选择Href



我有以下html:

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

并且希望能够通过说获取具有文本"链接到这里"的A标签来选择它

我试过:

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

但这行不通。

我似乎看不出哪里出了问题。

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

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

JSFiddle

:contains将选择一个元素,即使参数中的元素多于该元素(即:将返回"Link here bla bla")。如果你需要里面的文本精确地"链接到这里",你可以使用filter():

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

JSFiddle

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

这将起作用:D

最新更新