function convertToArray(nodes){ var array = null; try { /* array = Array.prototype.slice.call(nodes,0); */ array = [].slice.call(nodes,0);//兼容非IE类 } catch (ex) { array = []; /* 因为nodes是动态的,所以不能写为 for (var i=0 ;i<nodes.length ;i++ )会陷入死循环 */ for (var i=0,len=nodes.length;i<len ;i++ ) { array.push(nodes[i]); } } return array; }
通过try-catch来捕获错误,然后手动创建数组