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