jQuery获取所有后代节点,包括文本节点
jQuery get all descendant nodes including text nodes
是否有一种方法在jQuery中获得父节点的所有后代节点,包括文本节点,递归?我知道$.contents()
方法,但正如jQuery文档所述:
中搜索这些元素的直接子元素
.contents()
方法允许我们在DOM树
我的问题是,我有一个包含更多(非文本)节点的子节点,而我需要的不仅仅是父节点。我正在尝试一些解决方法:
var contents = container.contents();
var foo = $('.foo');
var index = contents.index(foo);
contents.splice(index,1,$('.foo').contents());
…但是这里插入的是数组,而不是单个元素。我的最后一步是将元素逐骨推到contents
数组,但我想知道是否有更好的方法来做到这一点。
我真的不明白你在做什么,但是为了获得某个元素的所有后代节点,你可以使用以下命令:
var nodes = $('*', container).addBack().contents();
演示:http://jsfiddle.net/5vfBg/
相关文章:
- Javascript,将文本添加到具有现有文本节点的元素中
- 拆分文本节点
- 使用TreeWalker检索非Javascript文本节点
- JSTree's data.rslt.obj.text()返回一个文本数组,而不是所需节点的文本
- jquery在元素中查找文本节点,并使用标记进行连接和包装
- JavaScript 文本节点属性
- 如何在所有节点中获取页面的文本
- 根据类型更改 jstree 节点文本颜色
- 获取xml节点文本
- 如何在JavaScript中使用主节点文本对json对象进行排序
- 如何通过按钮单击和鼠标悬停/鼠标退出显示和隐藏节点文本?D3/JS.
- 在 jsTree 中,使节点文本可单击的最佳方法是什么(用于选中复选框)
- Javascript DOM,在不丢失间距信息的情况下获取节点文本
- 更改文本节点文本
- 正在更改jsTree中的节点文本
- 函数,用于比较DOM树中的两个节点文本
- 谷歌图表Sankey -节点文本样式
- 如何在JavaScript中将DOM节点文本值转换为UTF-8
- 不能改变js节点文本的颜色
- 如何在 arbor js 中为每个节点文本添加新行字符