jQuery选择器——层次选择器


parent > child

描述:

匹配表单中所有的子级input元素

HTML 代码:
<form>
  <label>Name:</label>
  <input name="name" />
  <fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
 </fieldset>
</form>
<input name="none" />
jQuery 代码:
$("form > input")
结果:
[ <input name="name" /> ]

prev + next

描述:

匹配所有跟在 label 后面的 input 元素

HTML 代码:
<form>
  <label>Name:</label>
  <input name="name" />
  <fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
 </fieldset>
</form>
<input name="none" />
jQuery 代码:
$("label + input")
结果:
[ <input name="name" />, <input name="newsletter" /> ]

prev ~ siblings:

找到 form 元素的所有同辈 input 元素

HTML 代码:
<form>
  <label>Name:</label>
  <input name="name" />
  <fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
 </fieldset>
</form>
<input name="none" />
jQuery 代码:
$("form ~ input")
结果:
[ <input name="none" /> ]

实例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>层次选择器</title>
    <style type="text/css">
            /*body{
         background-color:#59e9f6;
        }*/

            div, span, p {
                width: 200px;
                height: 230px;
                margin: 5px;
                background: #aaa;
                border: #000 1px solid;
                float: left;
                font-size: 17px;
                font-family: Arial;
                font-family: Verdana;
            }

                div.mini {
                    width: 80px;
                    height: 80px;
                    background-color: #aaa;
                    font-size: 12px;
                    font-family: Arial;
                }

                div.hide {
                    display: none;
                }
    </style>
    <!--   引入jQuery -->
    <script src="Scripts/jquery-1.11.3.js"></script>
    <script type="text/javascript">

        $(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 () { 
            //选择 body内的所有div元素  \\\\\\\\\\\\\\\\\


            $("#btn1").on("click", function () {
                $("body div").css("background","red");
            });
            //在body内的选择 元素名是div 的子元素.59e9f6
            $("#btn2").on("click", function () {
                $("div>div").css("background", "red");
            });
            //选择 所有class为one 的下一个div元素.
            $("#btn3").on("click", function () {
                $(".one+div").css("background", "red");
            });
            //选择 id为two的元素后面的所有div兄弟元素.
            $("#btn4").on("click", function () {
                $("#two~div").css("background", "red");
            });
        });
    </script>
</head>
<body>
    <h3>层次选择器.</h3>
    <button id="reset">手动重置页面元素</button>
    <input type="checkbox" id="isreset" checked="checked" /><label for="isreset">点击下列按钮时先自动重置页面</label><br /><br />

    <input type="button" value="选择 body内的所有div元素." id="btn1" />
    <input type="button" value="在body内,选择子元素是div的。" id="btn2" />
    <input type="button" value="选择 所有class为one 的下一个div元素." id="btn3" />
    <input type="button" value="选择 id为two的元素后面的所有div兄弟元素." id="btn4" />

    <br />
    <br />
    <!-- 测试的元素 -->
    <div class="one" id="one">
        id为one,class为one的div(女警)
        <div class="mini">class为mini的div(曙光)</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>
        <div class="mini" title="test">class为mini,title为test的div(璐璐)</div>
    </div>

    <div class="one">
        class为one的div(EZ)
        <div class="mini">class为mini的div(琴女)</div>
        <div class="mini">class为mini的div(众星之子)</div>
        <div class="mini">class为mini的div(唤潮鲛姬)</div>
        <div class="mini">class为mini的div(牛头)</div>
    </div>

    <div class="one">
        class为one的div(奥巴马)
        <div class="mini">class为mini的div(凤女)</div>
        <div class="mini">class为mini的div(机器人)</div>
        <div class="mini">class为mini的div(狗熊)</div>
        <div class="mini" title="tesst">class为mini,title为tesst的div(雪人)</div>
    </div>

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

    <div class="hide">
    class为"hide"的div(螃蟹)
    </div>

    <div>
        包含input的type为"hidden"的div(飞机)
        <input type="hidden" size="8" />
    </div>
    <div>
        什么也没有
    </div>
    <span id="mover">正在执行动画的span元素.</span>

</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值