为什么这个javascript在FF和IE中产生不同的输出?

时间:2009-12-16 06:56:54

标签: javascript html firefox

请看这个:
http://jsbin.com/igeqa

这里,我只是使用

alert ( tableObj.childNodes.length );

并且在FF中输出为5,而在IE中为2。请告诉我导致这种行为的原因是什么?

2 个答案:

答案 0 :(得分:11)

Firefox计算空白文本节点,而IE只计算元素。所以Firefox正在返回[#text,THEAD,#text,TBODY,#text],而IE只返回[THEAD,TBODY]。

答案 1 :(得分:1)

IE和Moz以不同的方式计算HTML文档中的childNodes。 Moz将每个空的空间(可能的textNodes)计为childNode,而IE只计算其中的一部分。有几种解决方案。