使用TreeWalker检索非Javascript文本节点

使用TreeWalker检索非Javascript文本节点,javascript,dom,dhtml,textnode,Javascript,Dom,Dhtml,Textnode,教我如何获取文档中的所有TextNodes,这也可以获取Javascript文本。过滤掉所有Javascript代码节点的最佳方法是什么?标记中的文本只有一个共同点:它们的父元素是元素 if (node.parentNode.nodeName !== 'SCRIPT') 另一种方法是使用过滤器: var rejectScriptTextFilter={ acceptNode:函数(节点){ if(node.parentNode.nodeName!=='SCRIPT'){ 返回NodeFilt

教我如何获取文档中的所有TextNodes,这也可以获取Javascript文本。过滤掉所有Javascript代码节点的最佳方法是什么?

标记中的文本只有一个共同点:它们的父元素是
元素

if (node.parentNode.nodeName !== 'SCRIPT')
另一种方法是使用过滤器:

var rejectScriptTextFilter={
acceptNode:函数(节点){
if(node.parentNode.nodeName!=='SCRIPT'){
返回NodeFilter.FILTER\u接受;
}
}
};
var walker=document.createTreeWalker(
文件正文,
NodeFilter.SHOW_TEXT,
拒绝ScriptTextFilter,
假的
);
var节点;
var textNodes=[];
while(node=walker.nextNode()){
textNodes.push(node.nodeValue);
}
console.log(textNodes)
var str=“脚本在此”;

此处的文本

您可以克隆原始的
文档
,删除克隆的
文档
上的
元素,然后迭代克隆的
文档
的其余节点