在jQuery中是否有一种方法可以递归地获取父节点的所有子代节点,包括文本节点?我知道$.contents()
方法,但正如jQuery文档所述:
.contents()
方法允许我们在DOM树中搜索这些元素的直接子元素。
我的问题是,我有一个包含更多(非文本)节点的子节点,我需要的不仅仅是父节点。我现在正在尝试一些解决办法:
var contents = container.contents();
var foo = $('.foo');
var index = contents.index(foo);
contents.splice(index,1,$('.foo').contents());
...but --这将插入数组,而不是单个元素。我的最后一步是逐个将元素推送到contents
数组中,但是我想知道是否有更好的方法来做到这一点。
发布于 2014-06-03 13:36:52
我不太明白您要做什么,但是为了获取某个元素的所有子代节点,您可以使用以下方法:
var nodes = $('*', container).addBack().contents();
演示: http://jsfiddle.net/5vfBg/
https://stackoverflow.com/questions/24016542
复制相似问题