jQuery学习<三> — — 选择器(上)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kyle0349/article/details/51934123

一、基本选择器

  1. id选择器:$(“#test”);
    注意需要以#开头,才是根据id查询;
    将id=test的Don对象存储到jQuery包装集并返回。(返回的是一个jQuery对象);

  2. 标签选择器:$(“input”);
    将所有input标签作为Dom对象存储到jQuery包装集并返回。

  3. 样式选择器:$(“.class1”);
    将所有包含class=”class1”的Dom对象存储到jQuery包装集并返回

  4. 全选择器:$(“*”);
    将所有标签作为Dom对象存储到jQuery包装集并返回。

<head>
<base href="<%=basePath%>">

<title>My JSP 'ad_selector1.jsp' starting page</title>
    <style type="text/css">
    .class1 {
        font-size: 15px;
    }
    .class2 {
        font-size: 25px;
    }
    </style>

<script type="text/javascript" src="${basePath }js/jquery/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
    /****************基本选择器*************************/
    //id选择器 获取id=test1的标签
    function doSelector1() {
        var test1 = $("#test1");
        alert(test1.val()); //test1
    }
    //标签选择器 获取所有input标签
    function doSelector2() {
        var input = $("input");
        input.each(function() {
            alert(this.value); 
            //依次:test1,test2,test3,id选择器,标签选择器,class选择器,全选择器
        });
    }
    //class选择器  :获取class="class1"的标签
    function doSelector3() {
        var class1 = $(".class1");
        class1.each(function() {
            alert(this.value); //依次:test1,test2
        });
    }
    //全选择器:获取所有标签
    function doSelector4() {
        var all = $("*");
        all.each(function() {
            alert(this.value);
        });
    }
</script>
</head>
<body>
    <div id="testDiv1">
        <input class="class1" type="text" id="test1" name="test1" value="test1"> 
        <input class="class1" type="text" id="test2" name="test2" value="test2"> 
        <input class="class2" type="text" id="test3" name="test3" value="test3"> 
        <input type="button" id="test4" name="test4" value="id选择器" onclick="doSelector1()"> 
        <input type="button" id="test5" name="test5" value="标签选择器" onclick="doSelector2()"> 
        <input type="button" id="test6" name="test6" value="类 选择器" onclick="doSelector3()"> 
        <input type="button" id="test7" name="test7" value="全选择器" onclick="doSelector4()">
    </div>
</body>

二、层级选择器

  1. ancestor descendant选择器:$(“div[id=’testDiv2’] input”);
    ancestor:任何有效的选择器
    descendant:用来匹配最终获取元素的选择器,它必须是前一个选择器的后代元素。子孙元素
    将匹配到的Dom对象放进jQuery包装集并返回。

  2. parent > child选择器: $(“div[id=’testDiv2’] > input”);
    parent:任何有效的选择器
    child:用来匹配最终获取元素的选择器,它必须是前一个选择器的子元素。注意是子元素,不包括孙元素。
    将匹配到的Dom对象放进jQuery包装集并返回。

  3. prev + next选择器: $(“#testDiv2-1 + input”);
    prev :任何有效的选择器 :
    next:一个有效的选择器,并且必须是紧跟在prev元素后面。
    将匹配到的Dom对象放进jQuery包装集并返回。

  4. prev ~ siblings选择器 : $(“#test1 ~ input”);
    prev :任何有效的选择器
    siblings:一个有效的选择器,不需要紧跟prev元素,但是必须是和prev元素同级。
    将匹配到的Dom对象放进jQuery包装集并返回。

<head>
<base href="<%=basePath%>">
<title>My JSP 'ad_selector2.jsp' starting page</title>
    <style type="text/css">
    .class1 {
        font-size: 15px;
    }
    .class2 {
        font-size: 25px;
    }
</style>
<script type="text/javascript" src="${basePath }js/jquery/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
    /*******************层级选择器*******************************/
    //ancestor descendant选择器:获取<div id="testDiv2">内所有的input标签,包括下一代下下一代下下下一代...
    function doSelector1(){
        var inputs = $("div[id='testDiv2'] input");
        inputs.each(function(){
                    alert(this.value);
                });
    }
    //parent > child选择器:获取<div id="testDiv2">下一层所有的input标签,只包含下一代,注意和ancestor descendant选择器区别
    function doSelector2(){
        var inputs = $("div[id='testDiv2'] > input");
        inputs.each(function(){
                    alert(this.value);
                });
    }
    //prev + next选择器:获取<div id="testDiv2-1" >后面紧跟的一个input标签,如果紧跟标签不是input,没有返回。
    function doSelector3(){
        var inputs = $("#testDiv2-1 + input");
        inputs.each(function(){
                    alert(this.value);  // test3,
                });
    }
    //prev ~ siblings选择器:获取<div id="test1" >后面所有跟其同级的input标签
    function doSelector4(){
        var inputs = $("#test1 ~ input");
        inputs.each(function(){
                    alert(this.value);  
                });
    }
</script>
</head>
<body>
    <div id="testDiv2">
        <input class="class1" type="text" id="test1" name="test1" value="test1"> 
        <div id="testDiv2-1" >
            <input class="class1" type="text" id="test2" name="test2" value="test2">
        </div>
        <input class="class1" type="text" id="test3" name="test3" value="test3"> <br>  
        <input type="button" id="test4" name="test4" value="ancestor descendant选择器" onclick="doSelector1()">
        <input type="button" id="test5" name="test5" value="parent > child选择器" onclick="doSelector2()">
        <input type="button" id="test6" name="test6" value="prev + next选择器" onclick="doSelector3()">
        <input type="button" id="test7" name="test7" value="prev ~ siblings选择器" onclick="doSelector4()">
    </div>
</body>

三、基本过滤选择器

  1. :first选择器:$(“input:first”);
    将匹配到的第一个input 作为Dom对象放进jQuery包装集并返回。

  2. :last选择器:$(“input:last”);
    将匹配到的最后一个input 作为Dom对象放进jQuery包装集并返回。

  3. :last选择器:$(“input:not(.class1)”);
    将匹配到的class!= “class1” 的input作为Dom对象放进jQuery包装集并返回。

  4. :even选择器:$(“input:even”);
    将匹配到的第偶数个input(0、2、4…)作为Dom对象放进jQuery包装集并返回。注意从0开始

  5. :even选择器:$(“input:odd”);
    将匹配到的第奇数个input(1、3、5…)作为Dom对象放进jQuery包装集并返回。注意从0开始

  6. :eq选择器:$(“input:eq(1)”);
    将匹配到的索引值为1的input作为Dom对象放进jQuery包装集并返回。注意从0开始

  7. :gt选择器:$(“input:gt(5)”);
    将匹配到的索引值大于5的input(不包括5,并且从0开始,即第7个input开始获取)作为Dom对象放进jQuery包装集并返回。

  8. :lt选择器:$(“input:lt(3)”);
    将匹配到的索引值小于3的input(0、1、2)作为Dom对象放进jQuery包装集并返回。注意从0开始

  9. :header选择器:$(“:header”);
    将匹配到的< h1> < 2>这类标题标签作为Dom对象放进jQuery包装集并返回。

  10. :animated选择器(理解中,后期补上)

<head>
<base href="<%=basePath%>">

<title>My JSP 'ad_selector2.jsp' starting page</title>
    <style type="text/css">
    .class1 {
        font-size: 15px;
    }
    .class2 {
        font-size: 25px;
    }
    </style>
<script type="text/javascript" src="${basePath }js/jquery/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    /*******************基本过滤选择器*******************************/
        //获取第一个input标签 
        function doSelector1(){
            var first = $("input:first");
            alert(first.val());
        }
        //获取最后一个input标签
        function doSelector2(){
            var last = $("input:last");
            alert(last.val());
        }
        //获取 去除所有与给定选择器(.class1)匹配的元素后剩下的input元素
        function doSelector3(){
            var test3 = $("input:not(.class1)");
            test3.each(function(){
                        alert(this.value);
                    });
        }
        //获取所有索引值为偶数的元素,从 0 开始计数 (0,2,4...)
        function doSelector4(){
            var test4 = $("div input:even");
            test4.each(function(){
                            alert(this.value);
                        });
        }
        //获取所有索引值为奇数的元素,从 0 开始计数 (1,3,5...)
        function doSelector5(){
            var test5 = $("div input:odd");
            test5.each(function(){
                            alert(this.value);
                        });
        }
        //获取一个给定索引值的元素 (div内第2个input,因为是从0开始)
        function doSelector6(){
            var test6 = $("div input:eq(1)");
            test6.each(function(){
                            alert(this.value);
                        });
        }
        //获取所有大于给定索引值的元素 (索引值大于5的元素,不包括5。从第7个元素开始返回,因为从0开始)
        function doSelector7(){
            var test7 = $("div input:gt(5)");
            test7.each(function(){
                            alert(this.value);
                        });
        }
        //获取所有小于给定索引值的元素 (索引值小于3,不包括3,返回第0,1,2个input元素)
        function doSelector8(){
            var test8 = $("div input:lt(3)");
            test8.each(function(){
                            alert(this.value);
                        });
        }
        //获取如 h1的标题元素
        function doSelector9(){
            var test9 = $(":header");
            test9.each(function(){
                            alert($(this).text());
                        });
        }
        //:animated(理解中)
    </script>

</head>
<body>
    <h1>111</h1>
    <div id="testDiv2">
        <input class="class1" type="text" id="test1" name="test1" value="test1" > 
        <div id="testDiv2-1"  >
            <input class="class1" type="text" id="test2" name="test2" value="test2">
        </div>
        <input class="class1" type="text" id="test3" name="test3" value="test3">  <br>
        <input type="button" id="test4" name="test4" value=":first选择器" onclick="doSelector1()">
        <input type="button" id="test5" name="test5" value=":last选择器" onclick="doSelector2()">
        <input type="button" id="test6" name="test6" value=":not选择器" onclick="doSelector3()">
        <input type="button" id="test7" name="test7" value=":even选择器" onclick="doSelector4()">
        <input type="button" id="test8" name="test8" value=":odd选择器" onclick="doSelector5()"><br>
        <input type="button" id="test9" name="test9" value=":eq选择器" onclick="doSelector6()">
        <input type="button" id="test10" name="test10" value=":gt选择器" onclick="doSelector7()">
        <input type="button" id="test11" name="test11" value=":lt选择器" onclick="doSelector8()">
        <input type="button" id="test12" name="test12" value=":header选择器" onclick="doSelector9()">
        <!-- <input type="button" id="test13" name="test13" value=":animated选择器" onclick="doSelector10()"> -->
    </div>

</body>

猜你喜欢

转载自blog.csdn.net/kyle0349/article/details/51934123