简单的DOM的API封装详解编程语言

/*根据ID获取元素*/ 
var $id = function(id){ 
    return document.getElementById(id); 
}; 
 
/*根据标签名获取元素,返回元素的节点伪数组*/ 
var $tag = function(tagName, parent){ 
    return (parent || document).getElementsByTagName(tagName); 
}; 
 /*根据样式名获取元素,返回元素的节点数组。其中className是必填项目*/ 
var $class = function (className, tagName, parent) { 
 
    //元素可能存在多个className,故匹配我们所需要的className 
    var re = new RegExp('(^|//s)' + className + '(//s|$)'), node = []; 
 
    if (arguments.length === 1) { 
        //只传入className 
        tagName = "*"; 
        parent = document; 
 
    } else if (arguments.length === 2 && tagName.constructor === "String") { 
        //传入ClassName和节点类型 
        parent = document; 
 
    } else if (arguments.length === 2 && tagName.constructor !== "String") { 
        //传入ClassName和父亲节点 
        tagName = "*" 
 
    } else if (arguments.length === 3) { 
        //传入ClassName和节点类型以及父亲节点 
    } 
 
    var nodebyTag = parent.getElementsByTagName(tagName); 
 
    for (var i = 0; i < nodebyTag.length; i++) { 
 
        if (re.test(nodebyTag[i].className)) { 
            node.push(nodebyTag[i]); 
        } 
    } 
 
    return node; 
 
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10041.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论