DOM节点操作

获取节点

         获取第一个子节点

                  firstChidl:非标准下,只包含元素节点,标准下,包含文本节点

                  firstElementChild:非标准下不支持,标准下,只包含元素节点

         兼容:var oFirst = obj.firstElementChild||obj.firstChild

                  children[0]:推荐使用,只包含元素节点,无兼容问题

         获取最后一个子节点

                  lastChild||lastElementChild:兼容性同上

         获取下一个兄弟节点:

                   nextSibling||nextElementSibling:兼容性同上

         获取上一个兄弟节点:

                   previousSibling||previousElementSibling:兼容性同上

         获取父节点:

                   parentNode:无兼容问题

         获取有定位父节点最近一个,无定位则默认返回body

                   offsetParent

         获得距离:

                   offsetLeft[Top]:当前元素到有定位父级的距离,即offsetParent

         宽高取值:

                   sytle.样式宽

                   clientWidth:样式宽 + padding

                   offsetWidth:样式宽 + padding + border

        

元素创建

         一种办法,用innerHTML,缺陷:当需要重复添加时innerHTML会覆盖之前所有内容,  所以只可能用累加,反复累加性能不好

         另一种办法:

                   Document.creatElement();  //创建元素

                   父级.appendChild(要添加的元素);  //追加在最后面

                   InnerBefore(新加元素,被创建元素);

 

删除元素

         父级.removeChild(要删的元素);

 

替换节点

         replaceChild(新节点,被替换的节点);

剑还未备好,身已在江湖
原文地址:https://www.cnblogs.com/cjie/p/6088808.html