將nodeList轉換爲數組(兼容性)

將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

相關文章
相關標籤/搜索