2013-11-28 103 views
4

我有以下的html:jQuery的選擇HREF通過文字

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

而且希望能夠說得到具有我已經嘗試文本「的鏈接在這裏」

A標籤來選擇它:

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

但這不起作用。

不能看到我要去哪裏錯了。

+0

「得到它具有A標籤文本「Link Here」=>':contains'表示元素**包含**某些文本,而不表示元素文本**等於**某些文本。你在找什麼? –

回答

13

標記名和僞選擇器之間不應有空格。空格表示:contains("Link here")是另一個元素,裏面的a,不一樣。你應該用:

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

JSFiddle

:contains將選擇一個元素,即使有比參數更多(即:「鏈接此處唧唧歪歪」將返回)。如果您需要在文本內進行精確 '鏈接此處',你可以使用filter()

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

JSFiddle

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

這要工作:d