天天看點

1. jQuery 選擇器

1. jQuery 選擇器

​ 原生 JS 擷取元素方式很多,很雜,而且相容性情況不一緻,是以 jQuery 給我們做了封裝,使擷取元素統一标準。

1.1. 基礎選擇器

$("選擇器")   //  裡面選擇器直接寫 CSS 選擇器即可,但是要加引号            

複制

1. jQuery 選擇器

1.2. 層級選擇器

​ 層級選擇器最常用的兩個分别為:後代選擇器和子代選擇器。

1. jQuery 選擇器

基礎選擇器和層級選擇器案例代碼

<body>
    <div>我是div</div>
    <div class="nav">我是nav div</div>
    <p>我是p</p>
    <ul>
        <li>我是ul 的</li>
        <li>我是ul 的</li>        
        <li>我是ul 的</li>
    </ul>
    <script>
        $(function() {
            console.log($(".nav"));
            console.log($("ul li"));
        })
    </script>
</body>           

複制

1.3. 篩選選擇器

​ 篩選選擇器,顧名思義就是在所有的選項中選擇滿足條件的進行篩選選擇。常見如下 :

1. jQuery 選擇器

案例代碼

<body>
    <ul>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
    </ul>
    <ol>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
        <li>多個裡面篩選幾個</li>
    </ol>
    <script>
        $(function() {
            $("ul li:first").css("color", "red");
            $("ul li:eq(2)").css("color", "blue");
            $("ol li:odd").css("color", "skyblue");
            $("ol li:even").css("color", "pink");
        })
    </script>
</body>           

複制

另:  jQuery中還有一些篩選方法,類似DOM中的通過一個節點找另外一個節點,父、子、兄以外有所加強。

1. jQuery 選擇器

1.4 知識鋪墊

  • jQuery 設定樣式
$('div').css('屬性', '值')               

複制

  • jQuery 裡面的排他思想
// 想要多選一的效果,排他思想:目前元素設定樣式,其餘的兄弟元素清除樣式。
$(this).css(“color”,”red”);
$(this).siblings(). css(“color”,””);           

複制

  • 隐式疊代
// 周遊内部 DOM 元素(僞數組形式存儲)的過程就叫做隐式疊代。
// 簡單了解:給比對到的所有元素進行循環周遊,執行相應的方法,而不用我們再進行循環,簡化我們的操作,友善我們調用。
$('div').hide();  // 頁面中所有的div全部隐藏,不用循環操作           

複制

  • 鍊式程式設計
// 鍊式程式設計是為了節省代碼量,看起來更優雅。
$(this).css('color', 'red').sibling().css('color', '');            

複制

1.5 案例:淘寶服飾精品案例

思路分析: 1.核心原理:滑鼠經過左側盒子某個小li,就讓内容區盒子相對應圖檔顯示,其餘的圖檔隐藏。2.需要得到目前小li 的索引号,就可以顯示對應索引号的圖檔3.jQuery 得到目前元素索引号 $(this).index()4.中間對應的圖檔,可以通過  eq(index) 方法去選擇5.顯示元素 show()   隐藏元素 hide()

​ 

<script>
      $(function () {
        // 當滑鼠經過左側欄時相應的圖檔顯示出來
        // 滑鼠經過事件
        $("#left li").mouseover(function () {
          //得到目前小li的索引号
          var index = $(this).index();
          // 滑鼠經過 相應圖檔顯示
          $("#content div").eq(index).show();
          // 其他(兄弟圖檔)圖檔隐藏
          $("#content div").eq(index).siblings().hide();
        });
      });
    </script>           

複制

繼續閱讀