DOM操作元素节点的注意事项
2017-05-29 本文已影响0人
hyperRect
1. 平稳退化, 检查JavaScript DOM函数的支持程度.
比如一些浏览器不支持getElementsByTagName等。。。
就要先判断一下
如
if(!document.getElementsByTagName) return false;
或
if(!document.getElementsById) return false; //这个再不支持就太过分了。。
2. 注意判断node节点的 nodeType. 由于DOM 默认方法中的 nextSibling, firstChild, lastChild,childNodes
html:
<div id="main">
<h1>anything</h1>
<h2></h2>
</div
JS:
var div1 = document.getElementById("main");
var childeNodes = div1.childNodes;
for (var i = childeNodes.length - 1; i >= 0; i--) {
alert(childeNodes[i].nodeType);
}
如下, 会输出3, 1, 3, 1, 3.
因为div和h1之间还有默认的一个为“”的文本节点。 文本节点nodeType =3.