jQuery中有一种方法可以递归地获取父节点的所有后代节点,包括文本节点吗?我知道$.contents()
方法,但正如jQuery文档所述:
.contents()
方法允许我们在DOM树中搜索这些元素的直接子元素
我的问题是,我有一个包含更多(非文本)节点的子节点,而我需要的不是父节点。 我正在尝试一些解决方法:
var contents = container.contents();
var foo = $('.foo');
var index = contents.index(foo);
contents.splice(index,1,$('.foo').contents());
...但是这会插入数组而不是单个元素。我的最后一步是将元素逐个推送到contents
数组,但我想知道是否有更好的方法来执行此操作。
答案 0 :(得分:1)
我真的不明白你想要做什么,但为了获得某个元素的所有后代节点,你可以使用以下内容:
var nodes = $('*', container).addBack().contents();