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比较内的filter
function。 这个想法是, innerHTML
将捕捉我们不是特别感兴趣的文本(包括标记)。