firstChild,在现代浏览器中会选中空格文本节点。而I
E8及以下的IE浏览器不会选中空白文字节点。现代浏览器运行如下:
<ul>
<li></li>
.
.
</ul>
ul.firstChild 是 ul 和 li 的空白文本节点,如要选用 第一个<li></li>元素节点 则最好用ul.firstElemetChild.
但.firstElemetChild,在IE8及以下不兼容。
兼容方法有:
1, oParent.children[0],会选中第一个元素节点。
2, if (oParent.firstElementChild) {
oParent.firstElementChild
}
else {
oParent.firstChild
}
简化版: var firstchild = oParent.firstElementChild || oParent.firstChild;
下一问题:如何兼容 childNodes