关于childNodes获得的数组问题
<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>,对这里面的ul进行childNodes,为何得到的数组长度可能为7
<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>,对这里面的ul进行childNodes,为何得到的数组长度可能为7
2017-10-11
分情况
如果是像下面这种写法:
<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>
childNodes的长度只能是3,因为不存在空白,就没有文本节点。
但如果是这种写法:
<ul> 文本节点1 元素节点1<li>javascript</li> 文本节点2 元素节点2<li>jQuery</li> 文本节点3 元素节点3<li>PHP</li> 文本节点4 </ul>
IE会无视空白的文本节点,所以在IE里,这样写得到的长度也依然是3;
但在其他的浏览器里,空白的文本节点是不会被忽略的,所以子节点的长度为元素节点3 + 空白的文本节点4 = 7。
举报