如何判断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节点是最后的子节点的主要内容,如果未能解决你的问题,请参考以下文章

jQuery DOM节点操作 - 父节点子节点兄弟节点

高手帮忙:sql 里怎样递归判断父节点和子节

iOS7 SpriteKit 如何对两个或多个精灵节点子节点的动画进行分组?

ztree获取当前选中节点子节点id集合的方法(转载)

如何反序列化xml文件的子节点

如何在 PHP 中使用 DOM 或 XPATH 获取最近的子节点而不是嵌套的子节点