jQuery基于文本选择

前端之家收集整理的这篇文章主要介绍了jQuery基于文本选择前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要基于jQuery中的文本选择一个元素。

例如:

<span>this text</span>

我知道我可以使用.contains()选择基于文本,但它不是排他的。

我不想选择:

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

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

除了使用regex,我怎么做这个与jQuery选择器?

谢谢。

解决方法

你有一些杠杆与:包含选择器,但只有到目前为止。您将需要根据完全匹配的文本进一步修剪元素集,如:
$("span:contains(this text)")
.filter
(
  function()
  {
    return $(this).text() === "this text";
  }
)

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

编辑:要肯定布朗宁的建议使用text()函数,而不是innerHTML在过滤器函数中的字符串比较。这个想法是innerHTML会捕获我们不是特别感兴趣的文本(包括标记)。

猜你在找的jQuery相关文章