Jquery向后树遍历

时间:2014-07-09 15:14:56

标签: javascript jquery dom

我正在寻找解决我遇到的一个小问题的方法,目前我正在寻找从一个元素(例如所有父母)获取整个DOM树,我可以使用{{1 }}。

问题是我正在寻找一种方法来遍历每个元素和父级并删除除原始目标之外的所有文本/ html,所以基本上有一个空白的树,但在底部元素中有html

虽然我还没有尝试然而,但我认为只有.closest('body').first()可能有用,虽然有些东西告诉我嵌套结构会有问题吗?

任何建议都会很棒!

由于 DOM

更新 接受的答案很有效!我修改了代码并添加到下面的小提琴中,以允许它与我正在使用的深层嵌套结构一起工作......

在这里小提琴:http://jsfiddle.net/RDNTc/2/

2 个答案:

答案 0 :(得分:2)

该脚本删除目标父级的每个文本节点:

$('p').parentsUntil('body').each(function(){
    $(this).contents().each(function(){
        if(this.nodeType === 3) this.parentNode.removeChild(this);
    });
});

http://jsfiddle.net/RDNTc/;

答案 1 :(得分:0)

您可以使用.parents()在jQuery中遍历父项。然后使用.each()在循环中迭代它们。