获取所有实际显示的文本节点

时间:2018-09-27 16:36:58

标签: javascript dom

我尝试获取实际上显示在HTML文件正文中的所有文本节点。即,我要获得所有遵循innerText规则的文本节点(<script><style>隐藏在CSS中的文本节点除外)。我尝试将createTreeWalkerNodeFilter.SHOW_TEXT结合使用,以获取所有文本节点,如下所述。

let textNodeWalker = document.createTreeWalker(
  document.body,
  NodeFilter.SHOW_TEXT
)
let textNodeList = []
while (textNodeWalker.nextNode()) textNodeList.push(textNodeWalker.currentNode)

但是,这将返回所有文本节点,包括那些不会在监视器上显示的文本节点。我也尝试过使用document.body.innerText,但这不会给我DOM节点列表,而不会生成纯文本字符串。是否有可能获得所有遵循innerText规则的文本节点(返回数组)?

0 个答案:

没有答案