js腳本:ie和firefox的兼容
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
1、Select列表控件刪除列表項(xiàng)。在IE下工作正常的代碼:
obj.options.remove(i); 需要修改為:
添加列表項(xiàng)。在IE下工作正常的代碼:
為了提供更好的瀏覽器兼容性,更符合W3C DOM Level 2 HTML標(biāo)準(zhǔn),建議改為如下代碼:
另外,selectObj.options(i),需要改為selectObj.options[i]。 2、XmlDom對(duì)象IE下一般這樣做:
為了兼容Firefox,需要修改為:
3、對(duì)于childNodes的循環(huán)處理
上面這段代碼,在IE下完全沒(méi)有問(wèn)題,但是在Firefox下就毫無(wú)反應(yīng),F(xiàn)irefox下的錯(cuò)誤控制臺(tái)報(bào)告:oItem沒(méi)有 getAttribute方法,百思不得其解,經(jīng)調(diào)試,發(fā)現(xiàn)oItem的節(jié)點(diǎn)類型竟然是3,也就是文本,進(jìn)一步調(diào)試得知,oItem的節(jié)點(diǎn)類型分別是3、 1、3、1....(1是節(jié)點(diǎn)對(duì)象),使用Firefox的Dom查看器一看,恍然大悟!其中,Xml數(shù)據(jù)字符串為:
在Dom查看器中看到: 可以看到,#text節(jié)點(diǎn)和節(jié)點(diǎn)對(duì)象交替排列(id列有數(shù)據(jù)的為正常節(jié)點(diǎn),例如“驗(yàn)房服務(wù)”、“家裝設(shè)計(jì)”等等),造成當(dāng)oItem為#text類型的時(shí)候調(diào)用getAttribute()方法失敗,因?yàn)槲谋竟?jié)點(diǎn)沒(méi)有此方法。 那么,修改后的代碼是: 還有一點(diǎn)需要注意的是oItem.text無(wú)法在Firefox中取得節(jié)點(diǎn)的值,取而代之的是: oItem.childNodes[0].nodeValue; 至此,真相大白! 附錄1:幫助我解決問(wèn)題的兩篇關(guān)鍵文章: 1、http://www.sitepoint.com/forums/showthread.php?t=307056&goto=nextnewest 該文章在 2013/7/5 8:13:58 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |