jQuery基于文本select

我需要根据jQuery中的文本来select一个元素。

例如:

<span>this text</span> 

我知道我可以使用.contains()来select基于文本,但它不是唯一的。

我不想select:

 <span>this text and that text</span> 

我想select元素,如果它是元素的唯一文本。

除了使用正则expression式,我怎么用jQueryselect器来做到这一点?

谢谢。

你有一些杠杆与:包含select,但只有这么远。 您需要根据精确的文本匹配进一步修剪元素集,如下所示:

 $("span:contains(this text)") .filter ( function() { return $(this).text() === "this text"; } ) 

这使得最初的包含用法在技术上是不必要的,但是您可能会从SPAN元素的较小集合开始,然后过滤到您感兴趣的确切集合,从而体验到性能优势。

编辑 :采取肯布朗宁的build议使用text()函数,而不是innerHTML的string比较内的filterfunction。 这个想法是, innerHTML将捕捉我们不是特别感兴趣的文本(包括标记)。