DOM节点操作
获取节点
获取第一个子节点
firstChidl:非标准下,只包含元素节点,标准下,包含文本节点
firstElementChild:非标准下不支持,标准下,只包含元素节点
兼容:var oFirst = obj.firstElementChild||obj.firstChild
children[0]:推荐使用,只包含元素节点,无兼容问题
获取最后一个子节点
lastChild||lastElementChild:兼容性同上
获取下一个兄弟节点:
nextSibling||nextElementSibling:兼容性同上
获取上一个兄弟节点:
previousSibling||previousElementSibling:兼容性同上
获取父节点:
parentNode:无兼容问题
获取有定位父节点最近一个,无定位则默认返回body
offsetParent
获得距离:
offsetLeft[Top]:当前元素到有定位父级的距离,即offsetParent
宽高取值:
sytle.width:样式宽
clientWidth:样式宽 + padding
offsetWidth:样式宽 + padding + border
元素创建
一种办法,用innerHTML,缺陷:当需要重复添加时innerHTML会覆盖之前所有内容, 所以只可能用累加,反复累加性能不好
另一种办法:
Document.creatElement(); //创建元素
父级.appendChild(要添加的元素); //追加在最后面
InnerBefore(新加元素,被创建元素);
删除元素
父级.removeChild(要删的元素);
替换节点
replaceChild(新节点,被替换的节点);