2014-10-11 25 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

相关问题