如下图划线部分 有两个小疑问
来源:3-13 封装节点关系函数
KaFe_Ming
2021-01-29 13:31:25
老师你好 请问 定义变量o的目的是什么 还有o.previousSibling !=null 的作用是排除前一个兄弟节点不是空文本节点对吗 还有其他作用没
1回答
同学你好,问题解答如下:
1、定义变量o的目的是,确保每次查找的都是最新的节点,以老师的代码为例讲解,因为并不能确保第一次查找到的前一个兄弟元素就是元素节点,所以如果当查找到的前一个兄弟元素不是元素节点,需要将查找到的节点赋值给o,然后才可以根据已经查找到的节点继续向前查找,直到找到前一个元素节点才return返回结果。
可以使用console.log语句输出测试下结果,如下:
打印结果如下:前几次查找的前一个兄弟元素都不属于元素节点,直到找到了id为fpara的元素才属于元素节点,它的nodeType属性值等于1,满足进入if语句,直接返回找到的上一个兄弟元素节点,才不再往后执行了。
2、o.previousSibling !=null 是排除前一个兄弟不存在的情况,没有其它作用。
祝学习愉快!
相似问题