避免出现兼容性的方法总结
一
、
document.formName.item(”itemName”)
问
题
问 题 说 明 : IE
下 , 可 以 使 用 document.formName.item(”itemName”) 或
document.formName.elements ["elementName"] ; Firefox 下 , 只 能 使 用
document.formName.elements["elementName"]
。
解 决 方 法 : 统 一 使 用 document.formName.elements["elementName"]
。
二、集合类对象问题
问题说明:IE
下,可以使用 ()
或 [] 获取集合类对象;Firefox
下,只能使用 [ ]获
取
集
合
类
对
象
。
解 决 方 法 : 统 一 使 用
[]
获 取 集 合 类 对 象 。
三
、
自
定
义
属
性
问
题
问题说明:IE 下,可以使用获取常规属性的方法来获取自定义属性,也可以使用
getAttribute() 获取自定义属性;Firefox
下,只能使用 getAttribute() 获取自定义属
性
。
解 决 方 法 : 统 一 通 过
getAttribute()
获 取 自 定 义 属 性 。
四
、
eval(”idName”)
问
题
问 题说明:IE
下,可以使用 eval(”idName”)
或 getElementById(”idName”) 来取得
id
为 idName 的 HTML 对象;Firefox
下,只能使用 getElementById(”idName”) 来
取
得
id
为
idName
的
HTML
对
象
。
解决方法:统一用 getElementById(”idName”)
来取得 id
为 idName 的 HTML 对象。
五
、
变
量
名
与
某
HTML
对
象
ID
相
同
的
问
题
问题说明:IE 下,HTML 对象的 ID
可以作为 document 的下属对象变量名直接使用,
Firefox 下则不能;Firefox 下,可以使用与 HTML 对象 ID 相同的变量名,IE
下则不能。
解决方法:使用 document.getElementById(”idName”)
代替 document.idName。
最好不要取 HTML 对象 ID 相同的变量名,以减少错误;在声明变量时,一律加上 var 关
键
字
,
以
避
免
歧
义
。
六
、
const
问
题