將nodeList轉換爲數組(兼容性)node
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);瀏覽器
會出錯spa
須要catch來捕獲錯誤,而後手動建立數組prototype