jquery - 使用 jQuery 查找带有文本的元素

标签 jquery textnode

我想创建一个包含文本字符串的 div 中所有 html 元素的数组,例如

<p>some string</p>.  

我不想获取字符串,我希望数组项成为元素(在示例中,将是 p 节点)。我事先不知道字符串是什么,所以我无法查找匹配的字符串值。我也不希望空文本节点最终出现在数组中。

谢谢!

最佳答案

$("#my_div *").filter(function()
{
     var $this = $(this);
     return $this.children().length == 0 && $.trim($this.text()).length > 0;
})

此版本不会返回包含有文本的元素的父元素,仅返回最后一级元素。

可能不是最快的,但在 StackOverflow 主页上运行得很好:)

关于jquery - 使用 jQuery 查找带有文本的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1018855/

相关文章:

javascript - 从 jQuery 集合中删除注释和文本节点

javascript - 伪 :after class 的切换类

jquery - 如何获取元素的字符串,不包括该字符串的同级元素?

javascript - 使用复选框编码和更新位 - Succinctest 方法

javascript -\n 不适用于 javascript 中的文本节点

javascript - 如何在 Javascript/Jquery 中获取包含单击文本的元素?

javascript - 如何禁用 body 上的溢出而不是 iframe (Meteor.js)

javascript - jQuery,仅当用户自己更改输入时更改事件

javascript - JavaScript XML 文本节点是否有 4096 个字符的限制?

JavaScript:如何从一个元素的所有后代获取文本,而不考虑脚本?