2.封装函数,返回元素e的第N层祖先元素节点

 缺陷:

 容错:

 

 

3.,封装函数,返回元素e的第n个兄弟元素节点,n为正,返回后面的兄弟元素节点,n为负,返回前面的,n为0

  返回自己。

兼容性优化,因为nextElementSibling 兼容问题(IE9以下),需要使用nextSibling优化一下:

 

红圈里面的是for循环的另一种写法,比较飘逸:等同于

e = e.nextSibling;

for(e.nodeType != 1){e = e.nextSibling}

或者:

for(e = e.nextSibling;e.nodeType != 1){e = e.nextSibling}

 开发别这么写,仅做了解,不需要记。

还有问题:

 标签内部最后一个一定是文本节点,文本节点后面就没有了,也就是null

继续容错:

 

完整版:

 

 

low版思路:自己去想

 

 

 

 

 

 

 4.编辑函数,封装myChildren功能,解决以前部分浏览器(ie4、ie5)的兼容问题:

  考点:如何区分节点和元素节点

 

5.自己封装hasChildren方法,不可以用children方法: