仿jquery的$("#demo"),$(".className"),$("div")

本文介绍了一种仿jQuery的选择器实现方法,通过自定义函数获取DOM元素,支持ID、类名及标签名选择。示例代码展示了如何使用这些自定义函数来操作HTML文档。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>仿jquery的$</title>
    <style></style>
</head>
<body>
    <div id="demo" class="demoClass">123</div>
    <script>    
        function getClass(className){ 
            if(document.getElementsByClassName){ //判断浏览器是否支持
                    return document.getElementsByClassName(className);              
            }
            else{
                var dom = document.getElementsByTagName("*");

                var arr = [];   //存放满足类名的对象
                for(var i = 0;i<dom.length;i++){
                    if(isContain(dom[i].className,className)){
                        arr.push(dom[i]);
                    }
                }
                return arr;
            }
        }
        /*var str="#demo" ".demo" "div";*/
        function $(str){
            var c = str.charAt(0);
            var name= str.substr(1);
            switch(c){
                case "#":
                    return document.getElementById(name);
                    break;
                case ".":
                    return getClass(name);
                    break;
                default:
                    return document.getElementsByTagName(str);
                    break;
            }
        }

        $("#demo").innerHTML=$("#demo").innerHTML+" +#demo";
        $(".demoClass")[0].innerHTML=$("#demo").innerHTML+" +.demoClass";
        $("div")[0].innerHTML=$("#demo").innerHTML+" +div";
    </script>
</body>
</html> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值