js原生:封裝document.getElementByClassName()函數


//接口封裝:封裝document.getElementByClassName()函數
function getElementsByClassName (cName,domTag,root) {//該函數有三個參數:第一個參數是class名(必選,字串形式);第二個參數是父容器(可選),默認為body節點;第三個參數是該DOM節點的標簽名(字串形式)
    if (root) {
        root = typeof root == "string" ? document.getElementById(root) : root;
    } else{
        root = document.body;
    };
    domTag = domTag || "*";
    var els = root.getElementsByTagName(domTag);
    var arr = [];
    for (var i = 0,n = els.length; i < n; i++) {
        for (var j = 0,k = els[i].className.split(" "),l = k.length; j < l; j++) {
            if (k[j] == cName) {
                //console.log(els[i]);//這就是輸出的標簽DOm元素對象
                // return els[i];els[i]就是Dom節點對象,追加到數組中保存
                arr.push(els[i]);
                break;
            }
        }
    }
    return arr;//返回的雖然是數組,但是數組存儲的都是一個個Dom元素節點,在外面要調用節點的話,用arr[0]這種方法調用即可
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM