你對IE和Firefox在JavaScript方面的兼容性問題是否了解,這裡和大家簡單分享一下,相信本文介紹一定會讓你有所收獲。
IE和Firefox在JavaScript方面的兼容性
1.document.formName.item("itemName")問題
說明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elementName"];Firefox下,只能使用document.formName.elements["elementName"].
解決方法:統一使用document.formName.elements["elementName"].Text1:
- document.formName.item("itemName")
- document.formName.elements["elementName"]
2.集合類對象問題
說明:IE下,可以使用()或[]獲取集合類對象;Firefox下,只能使用[]獲取集合類對象.
解決方法:統一使用[]獲取集合類對象.
Text2:
- document.forms("formName")
- document.forms["formName"]
Text3:
- document.getElementsByName("inputName")(0)
- document.getElementsByName("inputName")[0]
3.自定義屬性問題
說明:IE下,可以使用獲取常規屬性的方法來獲取自定義屬性,也可以使用getAttribute()獲取自定義屬性;Firefox下,只能使用getAttribute()獲取自定義屬性.
解決方法:統一通過getAttribute()獲取自定義屬性.
Text4:
直接獲取自定義屬性的值
通過getAttribute()獲取自定義屬性的值
4.eval("idName")問題
說明:IE下,,可以使用eval("idName")或getElementById("idName")來取得id為idName的HTML對象;Firefox下只能使用getElementById("idName")來取得id為idName的Html對象.
解決方法:統一用getElementById("idName")來取得id為idName的Html對象.
Text5:
- eval("idName")
- document.getElementById("itemId")
5.變量名與某Html對象ID相同的問題
說明:IE下,HTML對象的ID可以作為document的下屬對象變量名直接使用;Firefox下則不能.Firefox下,可以使用與Html對象ID相同的變量名;IE下則不能。
解決方法:使用document.getElementById("idName")代替document.idName.最好不要取Html對象ID相同的變量名,以減少錯誤;在聲明變量時,一律加上var,以避免歧義.