JQuery 层次选择器

来源:互联网 发布:网络营销优化方案 编辑:程序博客网 时间:2024/06/07 00:07
<!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>
    <title>层次选择器</title>
    <script src="../js/jquery-1.5.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            //------1.在给定的祖先元素下匹配所有后代元素(包含了子元素,以及子元素的元素,一直往下延伸)
            //var $divs = $("#main div");
            //for (var i = 0; i < $divs.length; i++) {
            //    alert($divs.get(i).id);
            //}


            //------2.在给定的父元素下匹配所有子元素,只包括直接子元素(不包含子元素的子元素)
            //var $divs = $("#main > div");
            //for (var i = 0; i < $divs.length; i++) {
            //    alert($divs.get(i).id);
            //}


            //-----3.prev + next  $("lable + input ") : 匹配所有紧接在prev后的next元素
            //注意:只能去到第一个,并且是紧挨着的,如果不是紧挨着div1后面的则取不到
            //.....<1>.例子1
            //var $divBrother = $("#div1 + div");     //用#div1 ID选择器 ,只取到div2
            //alert($divBrother.get(0).id);
            //.....<2>.例子2
            //var $divBrothers = $("div + div");        
            //用div 标签选择器,相邻的div都能取到  divSun1(和divSun相邻),div2(和div1相邻)
            //for (var i = 0; i < $divBrothers.length; i++) {
            //    alert($divBrothers.get(i).id);
            //}


            //-----4.prev ~ siblins
            //$("form ~ input") : 匹配prev元素之后的所有siblings元素 
            //注意:在匹配之后的元素,不包含该元素在内,并且siblings匹配的是和prev同辈的元素,其后辈元素不被匹配。
            var $divBrothers = $("#main ~ div");
            for (var i = 0; i < $divBrothers.length; i++) {  //得到main1,main2,main3
                alert($divBrothers.get(i).id);
            }
        }
        );
    </script>
</head>
<body>
    <div id="main">
        <div id="div1" class="myDiv">我是div1
            <div id="divSun">我是孙子div
                <div id="divSunSun">我是孙子的孙子div</div>
            </div>
            <div id="divSun1">我是孙子div</div>
        </div>
        <div id="div2" class="myDiv">我是div2</div>
    </div>
    <div id="main1"></div>
    <div id="main2"></div>
    <input type="button" value="button" />
    <div id="main3"></div>
</body>
</html>