标签:
DOM(document object model)文档对象模型
文档:html页面
文档对象:页面中d元素
文档对象模型:定义--为了能够让程序(js)去操作页面中的元素
元素.childNodes:只读 属性 子节点列表集合
标准下:包含了文本和元素类型的节点,也会包含非法嵌套的子节点
非标准下:只包含元素类型的节点,IE7以下,不会包含非法嵌套的子节点
childNode只包含一级子节点,不包含后背孙级以下的节点
<script> window.onload=function () { var oUl=document.getElementById("ul1"); alert(oUl.childNodes.length); } </script> <ul id="ul1"> <li>1111</li> <li>2222</li> <li>3333</li> <li>4444</li>
</ul>
上面例子中,在标准情况下长度出现9的结果是因为把<li>前后的回车换行符是文本类型节点,所以会加上一共9个节点。在非标准情况下,例如在IE6,7,8下,结果为4,只包含元素类型节点。
元素.nodeType:只读 属性 当前元素的节点类型
DOM节点的类型有12种:9代表Document节点,1代表Element节点,3代表Text节点,8代表Comment节点,11代表DocumentFragment节点
元素.attributes:属性 属性列表集合
元素.children:只读 属性 子节点列表集合
标准下:只包含元素类型的节点
非标准下:只包含元素类型节点
元素.firstChild:只读 属性 第一个子节点
标准下:firstChild会包含文本类型的节点
非标准下:只包含元素节点
元素.firstElementChild:只读 属性
标准下获取第一个元素类型的子节点
非标准下不支持这个属性
元素.lastChild || 元素.lastElementChild最后一个子节点
元素.nextSibling || 元素.nextElementSibling 下一个兄弟节点
元素.previousSibling || 元素.previousElementSibling 上一个兄弟节点
元素.parentNode:只读 属性 当前节点的父级节点
无兼容性问题
元素.offsetParent:只读 属性 离当前元素最近的有一个有定位属性的父节点
如果没有定位父级,默认值body
IE7以下,如果当前元素没有定位默认是body,如果有定位则是html。如果当前元素的某个父级触发了layout,那么offsetParents就会指向到这个触发layout特性的父节点上
标签:
原文地址:http://www.cnblogs.com/yuxingyoucan/p/5700387.html