06-27 BOM操作和节点-学习总结

1.节点属性

属性名称 描述

parentNode : 返回节点的父节点

所以下面的h1的父节点是div:

parentNode : 返回节点的父节点

childNodes : 返回子节点集合,childNodes[i]:这个节点包括换行的空格和注释;

childNodes 

firstChild : 返回节点的第一个子节点,最普遍的用法是访问该元素的文本节点

firstChild : 返回节点的第一个子节点

lastChild : 返回节点的最后一个子节点

lastChild : 返回节点的最后一个子节点

在ie8以上的浏览器是包括文本节点的,而ie8以下是不包括的;

nextSibling : 下一个节点:如果想获取下一个的下一个:格式:变量.nextSibling.nextSibling

previousSibling : 上一个节点

★★★PS:nextSibling : 下一个节点 和 previousSibling : 上一个节点 只能获取平级的节点。不能获取父节点的;

Element属性

属性名称 描述:

不包含空格和注释:

firstElementChild :返回节点的第一个子节点

lastElementChild :返回节点的最后一个子节点

nextElementSibling :下一个节点,找不到的话返回null;

nextElementSibling :

previousElementSibling: 上一个节点,找不到的话返回null;

previousElementSibling:

Element属性和传统普通属性的区别: 1.普通节点属性包括注释和空格;但是Element不包含;

2.Element向下不兼容,那么我们怎么解决不兼容的问题呢?

用“||”来判断,ie8以上走前面的程序,ie8走后面的程序;

 var  变量名称 = 获取的元素.nextElementSibling || 获取的元素.nextSibling   

 var 变量名称 = 获取的元素.previousElementSibling || 获取的元素.previousSibling  

 var 变量名称 = oParent. firstElementChild  ||  oParent.firstChild   

 var 变量名称 = 获取的元素.lastElementChild || 获取的元素.lastChild

例如:用兼容写法达到要求:

用兼容写法达到要求

★★★:节点兼容问题:

谷歌浏览器是使用firstchild、lastchild、firstElementChild 、lastElementChild 是包括文本节点的;

ie8 以及以下浏览器是使用firstchild、lastchild、firstElementChild 、lastElementChild 是不包括文本节点的;

但是ie8会把注释当作是元素节点,会被选中,而ie5和ie7是不会把注释当作元素节点选中的;

节点信息

nodeName:节点名称  #text(文本节点包括换行和空格)、大写的元素名称、comment注释

nodeValue:节点值  “\n     ”、“ LI ” 、“<-- 我是注释 -->”

nodeType:节点类型 3  1   8   

👇

节点类型 NodeType值

元素element 1

文本text  3

注释comments  8

文档document  9

节点信息

设置属性:

setAttribute():设置本来就有的属性,并为其赋指定的值;

removeAttribute()方法删除指定的属性;

例子:

通过添加属性
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容