我需要基于jQuery中的文本选择一个元素。
例如:
<span>this text</span>
我知道我可以使用.contains()选择基于文本,但它不是排他的。
我不想选择:
<span>this text and that text</span>
我想选择元素,如果它是元素的唯一文本。
除了使用regex,我怎么做这个与jQuery选择器?
谢谢。
@H_301_18@解决方法
你有一些杠杆与:包含选择器,但只有到目前为止。您将需要根据完全匹配的文本进一步修剪元素集,如:
$("span:contains(this text)") .filter ( function() { return $(this).text() === "this text"; } )
这使得初始包含使用在技术上不必要,但是您可以通过使用较小的SPAN元素集合开始,然后过滤到您感兴趣的确切集合,从而获得性能优势。
编辑:要肯定布朗宁的建议使用text()函数,而不是innerHTML在过滤器函数中的字符串比较。这个想法是innerHTML会捕获我们不是特别感兴趣的文本(包括标记)。
@H_301_18@ @H_301_18@