JQuery中的層級選擇器

層級選擇器

文檔中的所有的節點之間都是有這樣或者那樣的關係。我們可以把節點之間的關係可以用傳統的家族關係來描述,可以把文檔樹當作一個家譜,那麼節點與節點直接就會存在父子,兄弟,祖孫的關係了。

選擇器中的層級選擇器就是用來處理 子元素 後代元素 兄弟元素 相鄰元素這種關係的

通過一個列表,對比層級選擇器的區別

層級選擇器解析表

具體實現我們看一下下面代碼

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <link rel="stylesheet" href="imooc.css" type="text/css">
    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
    <h2>子選擇器與後代選擇器</h2>
    <div class="left">
        <div class="aaron">
            <p>div下的第一個p元素</p>
        </div>
        <div class="aaron">
            <p>div下的第一個p元素</p>
        </div>
    </div>
    <div class="right">
        <div class="imooc">
            <article>
                <p>div下的article下的p元素</p>
            </article>
        </div>
        <div class="imooc">
            <article>
                <p>div下的article下的p元素</p>
            </article>
        </div>
    </div>

    <script type="text/javascript">
        //子選擇器
    $('div > p') 選擇所有div元素裏面的第一個子元素P
        $('div > p').css("border", "1px groove red");
    </script>

    <script type="text/javascript">
        //後代選擇器
        $('div  p') 選擇所有div元素裏面的p元素
       $('div  p').css("border", "1px groove red");
    </script>


    <h2>相鄰兄弟選擇器與一般兄弟選擇器</h2>
    <div class="bottom">
        <div>兄弟節點div, +~選擇器不能向前選擇</div>
        <span class="prev">選擇器span元素</span>
        <div>span後第一個兄弟節點div</div>
        <div>兄弟節點div
            <div class="small">子元素div</div>
        </div>
        <span>兄弟節點span,不可選</span>
        <div>兄弟節點div</div>
    </div>

    <script type="text/javascript">
        //相鄰兄弟選擇器
        //選取prev後面的第一個的div兄弟節點
        $(.prev + div).css("border", "3px groove blue");
    </script>

    <script type="text/javascript">
        //一般相鄰選擇器
        //選取prev後面的所有的div兄弟節點
       $(.prev ~ div).cs```
("border", "3px groove blue");
    </script>

</body>

</html>
進一步詳細解釋:
$( "parent > child" ) 子選擇器:選擇所有指定“parent”元素中指定的"child"的直接子元素。 $("ancestor descendant") 後代選擇器:選擇給定的祖先元素的所有後代元素, 一個元素的後代可能是該元素的一個孩子,孫子,曾孫等 $("prev + next") 相鄰兄弟選擇器:選擇所有緊接在“prev”元素後的“next”元素 $("prev ~ siblings") 一般兄弟選擇器:匹配“prev”元素之後的所有 兄弟元素。具有相同的父元素,並匹配過濾“siblings”選擇器 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章