jQuery选择器 过滤选择器(五.子元素过滤选择器)

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="../jquerysource/jquery.js" type="text/javascript"></script>
    <!-- <link rel="stylesheet" type="text/css" href="../css/style.css"/>-->
    <style>
        div,span,p {
            width:140px;
            height:140px;
            margin:5px;
            background:#aaa;
            border:#000 1px solid;
            float:left;
            font-size:17px;
            font-family:Verdana;
        }
        div.mini {
            width:55px;
            height:55px;
            background-color: #aaa;
            font-size:12px;
        }
        div.hide {
            display:none;
        }
    </style>
    <script>

        /*
         辅助:
         1,自动重置
         2,给元素添加动画
         */
        $(document).ready(function(){
            //手动重置页面元素
            $("#reset").click(function(){
                $("*").removeAttr("style");
                $("div[class=none]").css({"display":"none"});
            });
            //判断是否自动重置
            $("input[type=button]").click(function(){
                if($("#isreset").is(":checked")){
                    $("#reset").click();
                }
            });
            //给id为mover的元素添加动画.
            function animateIt() {
                $("#mover").slideToggle("slow", animateIt);
            }
            animateIt();
        })
        $(function(){
            //1.:nth-child(index/even/odd/equation);选取每个父元素下第index个子元素或者奇偶元素(index从1算起);eq(index)只匹配一个元素,而:nth-child将为每个父元素匹配子元素,并且:nth-child(index)的index
                            //是从1开始的,而:eq(index)是从0算起的
                    //(1):nth-child(even)能选取每个父元素下的索引值是偶数的元素(索引1开始)
                    //(2):nth-child(odd)能选取每个父元素下的索引值是奇数的元素(索引1开始)
                    //(3):nth-child(2)能选取每个父元素下的索引值是2的元素(索引1开始)
                    //(4):nth-child(3n)能选取每个父元素下的索引值是3的倍数的元素(索引1开始)
                    //(5):nth-child(3n+1)能选取每个父元素下的索引值是(3n+1)的元素(索引1开始)
            //2.:first-child;选取每个父元素的第一个子元素;:first只返回单个元素,而:first-child选择器将每个父元素匹配第一个子元素,例如:$("ul li:first-child")选取每个ul中第一个li元素
            //3.:last-child;选取每个父元素的最后一个子元素;:last只返回单个元素,而:last-child选择器将每个父元素匹配最后一个子元素,例如:$("ul li:last-child")选取每个ul中最后一个li元素
            //3.:only-child;如果某个元素是它父元素中唯一的子元素,那么将会被匹配.如果父元素中含有其他元素,则不会被匹配;集合元素;例如:$("ul li:only-child")在ul中选取是唯一子元素的li元素

            $("#btn1").click(function(){
               // $("div[class=one] :nth-child(2)").css("background","#bfa");
                $("div.one :nth-child(2)").css("background","#bfa");
            });
            $("#btn2").click(function(){
                $("div.one :first-child").css("background","#bfa");
            });
            $("#btn3").click(function(){
                $("div.one :last-child").css("background","#bfa");
            });
            $("#btn4").click(function(){
                $("div.one :only-child").css("background","#bfa");
            });
            $("#btn5").click(function(){
                $("div.one :nth-child(3n+1)").css("background","#bfa");
            });
        });



    </script>
</head>
<body>
<button id="reset">手动重置页面元素</button>
<input type="checkbox" id="isreset" checked="checked"/><label for="isreset">点击下列按钮时先自动重置页面</label><br /><br />


<!-- 控制按钮 -->
<h3>子元素过滤选择器.</h3>
<input type="button" value="选取每个class为one的div父元素下的第2个子元素." id="btn1"/>
<input type="button" value="选取每个class为one的div父元素下的第一个子元素." id="btn2"/>
<input type="button" value="选取每个class为one的div父元素下的最后一个子元素." id="btn3"/>
<input type="button" value="如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素." id="btn4"/>
<input type="button" value="nth-child(3n+1)能选取每个父元素下的索引值是(3n+1)的元素(索引1开始)" id="btn5"/>
<br /><br />

<!-- 测试的元素 -->
<div class="one" id="one" >
    id为one,class为one的div
    <div class="mini">class为mini</div>
</div>

<div class="one"  id="two" title="test" >
    id为two,class为one,title为test的div.
    <div class="mini"  title="other">class为mini,title为other</div>
    <div class="mini"  title="test">class为mini,title为test</div>
</div>

<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini3</div>
    <div class="mini"></div>
</div>

<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"  title="tesst">class为mini,title为tesst</div>
</div>


<div style="display:none;"  class="none">
    style的display为"none"的div
</div>

<div class="hide">class为"hide"的div</div>

<div>
    包含input的type为"hidden"的div<input type="hidden" size="8"/>
</div>

<span id="mover">正在执行动画的span元素.</span>
<div title="en">title为en的div元素</div>
<div title="en-UK">title为en-UK的div元素</div>
<div title="english">title为english的div元素</div>
<div title="en uk">title为en uk的div元素</div>


</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值