jQuery 选择器和筛选

选择器

基本选择器

基本选择器 描述
$(“元素名”) 标签选择器
$("#id名") id选择器
$(".类名") 类选择器
$(“选择器1,选择器2,…”) 并集选择器
$( " * " ) 通用选择器,选择所有元素
  • 在CSS中使用的选择器,在jQuery中同样可以使用,而且不用做循环
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标题</title>
    <script src="./jquery-3.4.1/jquery-3.4.1.min.js"></script>
    <script>
        $(function(){
    
            // id选择器
            $("#div1").css("color", "blue");
            
            // 类选择器
            $(".div").css("color", "green");

            // 标签选择器
            $("div").css("color", "red");

            // 通用选择器
            $("*").css("color", "orange");
        })
    </script>
</head>
<body>
    <div id="div1">div1111</div>
    <div class="div">div2222</div>
    <div class="div">div3333</div>
    <div>div4444</div>
    <p>ppp11111</p>
    <span>span11111</span>
</body>
</html>

ID选择器实现原理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标题</title>
    <script src="./jquery-3.4.1/jquery-3.4.1.min.js"></script>
    <script>
        window.onload = function(){
    
            function $(str){
    
                // 获取从指定的下标开始到结束的字符串
                var ID = str.substring(1);
                var obj = document.getElementById(ID);
                obj.css = function(key, value){
    
                    // this.style.key = value; 不可以通过这种方式添加及赋值,这样key会是一个固定的对象属性名,且不是一个参数
                    this.style[key] = value;//该方式才是正确传参
                }
                return obj;
            }

            $("#div1").css("color", "blue");
            $("#div1").css("fontSize", "30px");
        }
    </script>
</head>
<body>
    <div id="div1">div1111</div>
</body>
</html>

多种选择器实现原理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标题</title>
    <script src="./jquery-3.4.1/jquery-3.4.1.min.js"></script>
    <script>
        window.onload = function(){
    
            function $(str){
    
                //获取第一个字符
                var fir = str.substring(0, 1); 
                //获取第二个及后面的字符
                var sec = str.substring(1);

                // 判断到底是哪种选择器
                if(fir == "#"){
    
                    var obj = [document.getElementById(sec)];//转为数组,和下面保持一致
                }else if(fir == "."){
    
                    var obj = document.getElementsByClassName(sec);//获取的是一个数组
                }else{
    
                    var obj = document.getElementsByTagName(str);//所有字符
                };

                obj.css = function(key, value){
    
                    for (var i = 0; i < obj.length; i++){
    
                        this[i].style[key] = value;
                    }
                }
                return obj;
            }

            $("#div1").css("color", "blue");
            $(".ddd").css("color", "red");
            $("p").css("color", "orange");
            $("*").css("color", "green");
        }
    </script>
</head>
<body>
    <div id="div1">div1111</div>
    <div class="ddd">div2222</div>
    <p>ppp3333</p>
    <span>span4444</span>
</body>
</html>

后代、并集、交集选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标题</title>
    <script src="./jquery-3.4.1/jquery-3.4.1.min.js"></script>
    <script>
        $(function(){
    
            // 1、后代选择器,所有指定的子元素
            $("#div1 p").css("color", "red");
            $("#div2 .ddd").css("color", "blue");

            // 2、并集选择器
            $("#div1 p, #div2 div").css("color", "green");
            $("#div1 .ddd, #div2 p").css("color", "orange");

            // 3、交集选择器
            $("#div1 p.ddd").css("fontSize", "30px");
        })
    </script>
</head>
<body>
    <div id="div1">
        <div class="ddd">dddd1111</div>
        <div class="ddd">dddd2222</div>
        
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值