Ajax——-IE和FIREFOX 指令碼的一些區別

來源:互聯網
上載者:User
Ajax-------IE和FIREFOX 指令碼的一些區別

用AJAX開發 不可避免的要遇到瀏覽器不同,實現不同的問題,下面是AoiUmi的一些總結。

1:innerText
IE支援,FIREFOX不支援
解決辦法:用innerHTML,2種瀏覽器都識別innerHTML

2:document.createElement
document.appendChild
在往表裡插入行時
FIREFOX支援,IE不支援
解決辦法:把行插入到TBODY中,不要直接插入到表

3:setAttribute('style','color:red;')
FIREFOX支援(除了IE,現在所有瀏覽器都支援),IE不支援
解決辦法:不用setAttribute('style','color:red')
而用object.style.cssText = 'color:red;'(這寫法也有例外)
最好的辦法是上面種方法都用上,萬無一失 ^_^
4:class
setAttribute('class','styleClass')
FIREFOX支援,IE不支援(指定屬性名稱為CLASS,IE不會設定元素的CLASS屬性,相反只使用SETATTRIBUTE時IE自動識別CLASSNAME屬性)
解決辦法:
setAttribute('class','styleClass')
setAttribute('className','styleClass')
2種都用上

5:用setAttribute設定事件
var obj = document.getElementById('objId');
obj.setAttribute('onclick','funcitonname();');
FIREFOX支援,IE不支援
解決辦法:
IE中必須用點記法來引用所需的事件處理常式,並且要用賦予匿名函數
如下:
var obj = document.getElementById('objId');
obj.onclick=function(){fucntionname();};
這種方法所有瀏覽器都支援

6:建立單選鈕
IE以外的瀏覽器
var rdo = document.createElement('input');
rdo.setAttribute('type','radio');
rdo.setAttribute('name','radiobtn');
rdo.setAttribute('value','checked');

IE:
var rdo =document.createElement("<input type='radio' name='radiobtn' value='checked'>";
解決辦法:
這一點區別和前面的都不一樣。這次完全不同,所以找不到共同的辦法來解決,那麼只有IF-ELSE了
萬幸的是,IE可以識別出document的uniqueID屬性,別的瀏覽器都不可以識別出這一屬性。問題解決。

0:共同的一些技巧
在動態建立INPUT型輸入元素時,一般是先加入,在設定TYPE。這就有可能出錯

好習慣:var btn = document.createElement('input');
btn.setAttribut('type','button');
document.getElementById('formId').appendChild(btn); 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.