請看這裏:
http://jsbin.com/igeqa爲什麼這個javascript在FF和IE中產生不同的輸出?
這裏,我只是使用
alert (tableObj.childNodes.length);
,在FF中輸出是5
,而在IE中它是2
。請告訴我是什麼原因導致這種行爲?
請看這裏:
http://jsbin.com/igeqa爲什麼這個javascript在FF和IE中產生不同的輸出?
這裏,我只是使用
alert (tableObj.childNodes.length);
,在FF中輸出是5
,而在IE中它是2
。請告訴我是什麼原因導致這種行爲?
Firefox計算空白文本節點,而IE只計算元素。所以Firefox正在返回[#text,THEAD,#text,TBODY,#text],而IE只返回[THEAD,TBODY]。
IE和Moz以不同的方式計算HTML文檔中的childNodes。 Moz將每個空白空間(可能的textNodes)計數爲childNode,而IE只計算其中的一部分空間。這有幾個解決方案。
'404 - File not found' – 2009-12-16 07:22:21
太棒了!公認。這是否意味着我們不應該在'childNodes'屬性上回復 – 2009-12-16 07:16:47
依靠childNodes很好,只需在處理childNodes的代碼中檢查「node.nodeType == 1」(元素節點)以確保它們是元素if你不想獲得文本節點,註釋節點等。 – Annie 2009-12-16 07:25:50
謝謝,我將使用getElementsBytagName而不是childNodes – 2009-12-16 07:30:46