如何判断dom节点是最后的子节点
Posted vieber
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断dom节点是最后的子节点相关的知识,希望对你有一定的参考价值。
问题背景
我们遍历html所有节点的时候,我们需要找到叶子结点,拿到叶子结点的宽度、高度等使用这个getBoundingClientRect方法
比如这种,下面只有一个文本的时候没有别的节点的时候,这个节点就是我们要找的叶子结点。
如何判断
举上面的例子的时候我们看a标签他的nodeType为1,1表示元素Element节点,并且他也有childNodes节点。和他的父节点的值是一样的,所以没法通过这个来判断。
我们观察,a标签的childNodes节点中有nodeType为3的Text节点。我们就可以通过这个判断a为叶子结点。
如果直接判断nodeType为3的文本节点,但是这个节点是没有getBoundingClientRect这个方法的,拿不到想要的宽度高度。所有需要他的父节点才行。
通过遍历a节点下面有没有nodeType===3的文本text节点来判断。
以上是关于如何判断dom节点是最后的子节点的主要内容,如果未能解决你的问题,请参考以下文章