2014-10-11 22 views
0

開始我需要一個額外的限制添加到該find()方法,以便<a>元素,其文本與冷落的Re:一個字符串開頭的鏈接。jQuery選擇是查找其文本沒有的東西

$(document).find(".middletext:not(.quoteheader) > a[href^='http://fakeURL.com/']") 

的問題是,我不知道代表<a>標籤中的文本屬性的,我不知道一個選擇,只有選擇不使用的東西開始的字符串。如果text屬性存在,如果選擇串選擇不帶的東西開始是這樣的:^!=,然後我的代碼是:

$(document).find(".middletext:not(.quoteheader) > a[href^='http://fakeURL.com/'][text^!='Re: ']") 

我怎樣才能使這項工作?

我懷疑在使用find()後有一種方法可以使用filter()並使其工作,但我不知道如何。

回答

1

我建議,正如你所說,使用filter()

$(document).find(".middletext:not(.quoteheader) > a[href^='http://fakeURL.com/']") 
    .filter(function(){ 
     return $(this).text().indexOf('Re:') !== 0; 
    }).css('color','red'); // or whatever 

參考文獻:

+0

+1 FWIW,'.lastIndexOf( 「回覆:」,0)'是一個非常有用的優化,如果有可能是大段文字。或者更好的是,ES6的'.startsWith(「Re:」)'既清晰又優化。 – 2014-10-12 00:34:00

相關問題