本来想写一个转换数组的方法,突然发现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]。