function arrayofNodes(nodes){ var arr = null; try{ arr = Array.prototype.slice.call(nodes,0); }catch(ex){ arr = new Array(); for(var i=0,len=nodes.length; i < len; i++){ arr.push(nodes[i]); } } return arr; }
在IE8以前的浏览器中nodes非JScript对象而是COM对象,所以
Array.prototype.slice.call(nodes,0);
会出错
需要catch来捕获错误,然后手动创建数组
时间: 2024-10-09 02:04:34