递归遍历 DOM 查找文本的正确方法
2026-05-26 22:33:37
0浏览
收藏
本文深入剖析了递归遍历 DOM 查找文本时一个极易被忽视却极具代表性的陷阱:看似已从页面内容中删除的目标词(如“book”)仍被 `talksAbout` 函数误判为存在,根源在于函数无差别遍历整个 DOM 树,将 `

该教程解析 Eloquent JavaScript 第 14 章中 talksAbout 递归函数的常见陷阱:当 HTML 中已删除目标文本(如 "book"),函数仍返回 true,根本原因是脚本自身(console.log 所在的
talksAbout 是一个经典的 DOM 递归文本搜索函数,其设计意图是深度遍历节点树,仅在纯文本节点(Node.TEXT_NODE)中执行 indexOf 检查。但实际运行时,它会无差别访问整个 document.body 下的所有子节点——包括
