下面比较了几种浏览器之间的差异,在写javascript代码时 要时刻注意这些差异
序号 |
操作 |
分类 |
IE |
FireFox |
Mozilla |
当前 |
备注 |
1 |
"." |
访问tag的固有属性 |
OK |
OK |
OK |
OK |
|
2 |
"." |
访问tag的用户定义属性 |
OK |
NO |
NO |
OK |
可以用getAttribute函数 替代 |
3 |
obj.getAttribute |
访问tag的固有属性 |
OK |
OK |
OK |
OK |
|
4 |
obj.getAttribute |
访问tag的用户定义属性 |
OK |
OK |
OK |
OK |
|
5 |
document.all |
访问document的所有子元素 |
OK |
OK |
NO |
OK |
建议用childNodes对象或者getElementById函数实现对应操作。 |
6 |
obj.all |
访问非document元素的所有子元素 |
OK |
NO |
NO |
OK |
同上 |
7 |
根据元素的id/name来取得元素。 |
OK |
NO |
NO |
OK |
注意:很多元素是没有name属性的,eg: td, div,span... |
|
8 |
变量名 = "" |
隐式定义变量-通过向变量名附值方式定义一个新的变量。 |
OK |
OK |
OK |
OK |
建议:为避免必要的麻烦,显示定义变量。 |
9 |
id |
通过id直接调用对象 |
OK |
OK |
NO |
OK |
eval()函数用来执行脚本,所以向eval函数里面传入对象id/name的话,IE同样会返回对象的引用。 |
10 |
name |
通过name直接调用对象 |
OK |
NO |
NO |
OK |
同上/ 原因同7 |