getElementsByTagName在各浏览器内的差异

本来想写一个转换数组的方法,突然发现getElementsByTagName在各浏览器内的差异很大。

var arr=document.getElementsByTagName("div");

这是我获取的元素集合。

console.log(arr);

IE 6/7:object;

FF/IE8:HTMLCollection;

safari/chrome/opera:NodeList;

console.log(typeof arr);

IE 6/7/8 FF chrome opera都显示为object,但safari竟然显示function。

console.log(arr.constructor);

这差别就更大了:

IE6/7:undefined;

IE8:HTMLCollection;

FF/chrome:function Object(){[native code]};

safari:[Object NodeListConstructor];

opera:[Object NodeList]。

posted on 2011-04-02 10:08  Lecaf  阅读(2540)  评论(2编辑  收藏  举报