如下图划线部分 有两个小疑问

来源:3-13 封装节点关系函数

KaFe_Ming

2021-01-29 13:31:25

http://img.mukewang.com/climg/60139ceb09fe3b7b05400390.jpg

老师你好 请问  定义变量o的目的是什么   还有o.previousSibling !=null 的作用是排除前一个兄弟节点不是空文本节点对吗 还有其他作用没

写回答

1回答

好帮手慕张

2021-01-29

同学你好,问题解答如下:

1、定义变量o的目的是,确保每次查找的都是最新的节点,以老师的代码为例讲解,因为并不能确保第一次查找到的前一个兄弟元素就是元素节点,所以如果当查找到的前一个兄弟元素不是元素节点,需要将查找到的节点赋值给o,然后才可以根据已经查找到的节点继续向前查找,直到找到前一个元素节点才return返回结果。

可以使用console.log语句输出测试下结果,如下:

http://img.mukewang.com/climg/6013d90b098264dd05420451.jpg

打印结果如下:前几次查找的前一个兄弟元素都不属于元素节点,直到找到了id为fpara的元素才属于元素节点,它的nodeType属性值等于1,满足进入if语句,直接返回找到的上一个兄弟元素节点,才不再往后执行了。

http://img.mukewang.com/climg/6013d92309ce015e09920368.jpg

2、o.previousSibling !=null 是排除前一个兄弟不存在的情况,没有其它作用。

祝学习愉快!

0

0 学习 · 15276 问题

查看课程