Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery向后树遍历_Javascript_Jquery_Dom - Fatal编程技术网

Javascript Jquery向后树遍历

Javascript Jquery向后树遍历,javascript,jquery,dom,Javascript,Jquery,Dom,我正在寻找一个解决我遇到的一个小问题的方法,目前我正在寻找从一个元素(例如,所有父元素)获取整个DOM树的方法,我可以使用.closest('body').first() 问题是我正在寻找一种方法来遍历每个元素和父元素,并从中删除除原始目标之外的所有文本/html,因此基本上有一个空白树,但底部元素中有html 虽然我还没有尝试过,但我只是想。每个()都可以工作,尽管有消息告诉我嵌套结构会有问题 任何建议都很好 谢谢 多姆 更新: 公认的答案非常有效!我修改了代码并将其添加到下面的fiddle中

我正在寻找一个解决我遇到的一个小问题的方法,目前我正在寻找从一个元素(例如,所有父元素)获取整个DOM树的方法,我可以使用
.closest('body').first()

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

虽然我还没有尝试过,但我只是想
。每个()
都可以工作,尽管有消息告诉我嵌套结构会有问题

任何建议都很好

谢谢 多姆

更新: 公认的答案非常有效!我修改了代码并将其添加到下面的fiddle中,以允许它与我正在使用的深层嵌套结构一起工作


在这里摆弄:

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

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

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

)

我不认为jquerySorry中有
.nearest()
,我是说
.nearest()
,编辑了QHow about
.parents()
,如果你能贴一把小提琴,那么就很容易帮上忙了。这本来是有效的,请看我的更新。Thanks@Dom我不明白你的意思。控制台中显示的内容正是您的代码想要做的:

是的,bla

bloh show me bleuh

显示bla

bli bloh
。在第一个3开头的文字中,没有文字是我自己在中间的错误。我现在又更新了我的Q!