我有以下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