获取 TextNode 对象的集合
虽然 getElementsByTagName() 可以有效检索元素对象,但对于 textNode 对象无效,因为它们不是元素。因此,问题出现了:是否有替代方法来获取文档中的所有 textNode 对象?
替代方法
虽然遍历 DOM 是一个可行的选择,但缺乏浏览器本机方法似乎很奇怪。为了解决这个问题,出现了几种方法:
性能比较
已经进行了 1000 多次运行来比较这些方法的性能测试。虽然 getElementsByTagName 是最快的,但它选择特定的元素标签,可能无法捕获所有文本节点。
有趣的是,TreeWalker 的性能与 getElementsByTagName 几乎相同,并且可以说在速度上与更复杂的 DOM 遍历方法相当。 。这凸显了 TreeWalker 检索文本节点的效率。
以上是如何高效获取文档中所有TextNode对象?的详细内容。更多信息请关注PHP中文网其他相关文章!