我有以下html:
<a href="#DDD">Link here </a>
并希望能够通过说出一个带有“Link Here”文本的A标签来选择它
我试过了:
$('a[value="Link here"]')
$('a :contains("Link here")')
但这不起作用。
似乎无法看到我出错的地方。
答案 0 :(得分:15)
标记名和伪选择器之间不应该有空格。空格表示:contains("Link here")
是a
内的另一个元素,而不是同一个元素。你应该使用:
$('a:contains("Link here")')
: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"});
答案 1 :(得分:2)
$("a.myclass:contains('Text')")
这个工作:D