紀錄一下,一個獲取className的函數

var getByClass = function(searchClass, node, tag) {
    if (document.getElementsByClassName) {
        return document.getElementsByClassName(searchClass)
    } else {
        node = node || document;
        tag = tag || "*";
        var classes = searchClass.split(" "),
        elements = (tag === "*" && node.all) ? node.all : node.getElementsByTagName(tag),
        patterns = [],
        returnElements = [],
        current,
        match;
        var i = classes.length;
        while (--i >= 0) {
            patterns.push(new RegExp("(^|//s)" + classes[i] + "(//s|$)"));
        }
        var j = elements.length;
        while (--j >= 0) {
            current = elements[j];
            match = false;
        for (var k = 0, kl = patterns.length; k < kl; k++) {
            match = patterns[k].test(current.className);
        if (!match) break;
        }
        if (match) returnElements.push(current);
        }
        return returnElements;
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章