中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery 知識點總結

發布時間:2020-06-24 07:33:14 來源:網絡 閱讀:347 作者:Irvin_X 欄目:web開發

【文章根據 尚硅谷 教學材料 總結】

發博備查。


1.    
    . class選擇器
    # id選擇器
    : 選取

2. $(function(){})相當于 window.onload 方法.
    window.onload = function(){...}
    
3. 加載DOM的兩種方式: jQuery 和 window.onload
    $(document).ready(function(){...})
    $(function(){...}

4. 選取button 并添加 onClick 響應函數. $("button").click(function(){}

5. jQuery 和 DOM 對象
    [1]. 由 jQuery 對象轉為 DOM 對象.
        1). 獲取一個 jQuery 對象.
            var $btn = $("button");
        2). jQuery 對象是一個數組.
            alert($btn.length);
        3). 可以通過數組下標轉為 DOM 對象.
            alert($btn[1].firstChild.nodeValue);
    [2]. 由 DOM 對象轉為 jQuery 對象.
        1). 選取一個 DOM 對象.
            var btn = document.getElementById("btn");
        2). 把 DOM 對象轉為一個 jQuery 對象:使用 $() 進行包裝.
            alert($(btn).text());

6. 使用 id 選擇器選擇 id=btn1 的元素, 并為選擇的 jQuery 對象添加 onclick 響應函數.
        $("#btn1").click(function(){...});

7. jQuery 對象遍歷的方式是 each , 在 each 內部的 this 是得到的 DOM 對象, 而不是一個jQuery 對象
    $("#btn5").click(function(){
        var leng = $(":checkbox[name='newsletter':checked]").each(function(){
            alert(this.value);
        });
    });

8. 選取子元素需要在選擇器前添加空格.  div.one 同 .one .
        $(".one :nth-child(2)").css("backgroud" ,"#ffbbaa");

9. 選擇的是一個數組, 當該數組中有多個元素時, 通過 .val() 方法就只能獲取第一個被選中第一個被選中的值了.

10. jQuery 對象可以進行隱式迭代:
        $("p").click(function(){...})
    為選取的所有的 p 節點都添加了 click 響應函數.
    jQuery 對象本身就是一個 DOM 對象的數組.
            
11. 在響應函數中, this 是一個 DOM 對象, 若想使用jQuery 對象的方法, 需要把其包裝為 jQuery 對象:
    使用 $() 把 this 包起來.
            
12. text() 方法是一個讀寫的方法:
    不加任何參數, 讀取文本值;
    加參數, 為屬性節點添加文本值(文本節點).
    和 text() 方法類似的:attr() ,val().

13. 使用 jQuery 操作文本節點, 屬性節點 及查找元素節點.
    1). 操作文本節點:通過 jQuery 對象的 text() 方法
        alert($("#bj").text());
        $("#bj").text("TEST");
        
    2). 操作屬性節點:通過 jQuery 對象的 atter() 方法.
        注:直接操作 value 屬性值可以使用共便捷的 val() 方法.
        alert($(":text[name='username']").attr("value"));
        $(":text[name='username']").attr("value","TEST");

14. 創建節點:
        使用 $(html) 方式即可, 元素節點, 文本節點, 屬性節點可以一網打盡返回對應節點的 jQuery 對象 :
            $("<li id='TEST'>測試</li>")
            
15. 添加節點:
        1). appendTo() 和 append():主語和賓語的位置不同:
                ("<li id='TEST'>測試</li>").appendTo($("#city"));
                $("#city").append("<li id='TEST'>測試</li>");
                
        2). prependTo() 和 prepend():主語和賓語位置不同:
                $("<li id='TEST'>測試</li>").prependTo($("#city"));
                $("#city").prepend("<li id='TEST'>測試</li>");

16. 同 JS 的響應函數一樣, jQuery 對象的響應函數若返回 false 可以取消指定元素的默認行為,比如 submit , a 等.
        
17. val() 方法,相當于 attr("value"),獲取表單元素的 value 屬性值

18. $.trim(str) 可以去除 str 的前后空格.

19. jQuery 對象的 remove() 方法:
        將把jQuery 對象對應的DOM節點直接刪除
            $("#bj").remove();

20. 清空 game 節點:
        jQuery 對象的 empty() 方法: 清空jQuery對象對應的 DOM 對象的所有的子節點.
            $("#game").empty();

21. jQuery 調用jQuery 提供的方法的返回值如果是一個對象的話那么這個對象一定是一個 jQuery 對象

22. find() 方法:查找子節點,返回值為子節點對應的 jQuery 對象.

23. jQuery clone 方法:復制節點.
    1). clone 節點時需要注意克隆后的節點的 id 屬性.若原節點有 id 屬性, 則克隆后,會在一個文檔中出現兩個相同 id 的節點的情況.
            
    2). clone(true):在克隆節點的同時,克隆節點包含的事件.
            
24. jQuery replaceWith (replaceAll) 方法:替換節點.
        1). repalceWith ,replaceAll 一對方法完成相同功能,只是主賓位置不同.
        2). 以上的兩個方法還有移動的功能.
        3). 節點互換需要先克隆節點.
        4). var $rl = $("rl").replaceWith($bj2);  返回的是被替換的節點 rl .

25.
    1). 創建一個<li>測試</li> 節點,替換 #city 的最后一個 li 子節點.
            $("<li>測試</li>").repalceAll($("#citi li:last"));
    2). 創建一個<li>測試</li> 節點,替換 #city 的第二個 li 子節點.
            $("#city li:eq(1)").replaceWith($("<li>測試</li>"));
    3). 互換以下兩個節點: #rl 和 #bj .(互換節點有移動的功能).
            var $bj2 = $("#bj").clone(true);
            var $rl = $("rl").replaceWith($bj2);
            $("#bj").replaceWith($rl);

26. 使用 jQuery wrap ,wrapAll ,wrapInner:
        1). 包裝 li 本身.
            #("#game li").wrap("<font color='red'></font>");
        2). 包裝所有 li .
            $("#city li").wrapAll("<font color='red'></font>");
        3). 包裝 li 里邊的文字.
            $("#language li").wrapInner("<font color='red'></font>");

27. val 不能直接獲取 checkbox 被選擇的值.若直接獲取, 只能得到第一個被選擇的值.
    因為 $(":checkbox[name='c']:checked") 得到的是一個數組, 而使用val()方法只能獲取數組元素的第一個值, 若希望打印被選擇的所有值, 需使用 each 遍歷

28. jQuery 樣式相關的方法.
        1). hasClass():某元素是否有指定的樣式.
                alert($("div").hasClass("SubCategoryBox"));//true
        2). 移除樣式.
                $("div").removeClass("SubCategoryBox");
        3). 添加樣式.
                $("div").addClass("SubCategoryBox");
        4). 切換樣式:存在則去除;沒有則添加.
                $(".showmore").click(function(){
                    $("div:first").toggleClass("SubCategoryBox");
                    return false;
                });
        5). 獲取和設置元素透明度: opacity 屬性.
                alert($("div:first").css("opacity"));
                $("div:first").css("opacity".0.5);
        6). width() & height() .
                alert($("div:first").width());
                alert($("div:first").height());
                $("div:first").width(400);
                $("div:first").height(80);
        7). 獲取元素在當前視窗中的相對位移:offset() .
            其返回對象包含了兩個屬性: top ,left .該方法只對可見元素有效.
                alert($("div:first").offset().top);
                alert($("div:first").offset().left);

29. onclick 事件的另一種寫法: bind: 為某 jQuery 對象綁定事件.
        $(".head").click(function(){...});
        $(".head").bind("click" ,function(){...})

30. 事件冒泡:什么是事件的冒泡.
        $("body").click(function(){
            alert("1");
        });
        
        $("#content").click(function(){
            alert("2");
        });
        
        $("span").click(function(){
            alert("3");
            //如何解決事件冒泡:通過在響應函數的結尾返回 false ,可以阻止冒泡.
            return false;
        });

31. toggle() 可以切換元素是否可見.
    slideToggle():通過高度變化來切換匹配元素的可見性.
    fadeToggle():通過透明度變化來切換匹配元素的可見性.
    fadeTo():把不透明度以漸進的方式調整為透明的值.

32. var $category = $("li:gt(5):lt(7)");
    此時的lt 是在 li:gt(5) 基礎上運行的.

33. 總結:
    [1]. jQuery 是 JavaScript 的一個函數庫,非常方便,非常主流
    [2]. 利用 jQuery 開發的步驟:
        1). 導入 jQuery 庫
        2). 在 $(function(){}) 中編輯代碼
    [3]. jQuery 對象 vs DOM 對象
        1). 兩者不能使用對方的屬性和方法
        2). jQuery 對象是一個 DOM 數組對象, 所以可以使用下標的方式轉為DOM對象.
            var $btn = $("button");
            var btn = $btn[0];
        3). jQuery 對象是使用 $() 包裝 DOM 對象后產生的對象。
            $("select :selected").each(function(){
                alert($(this).value);
            })
    [4]. jQuery 的選擇器。
        1). 選取被選中的 select 的 option 需要使用選取子節點的方式
            $("select[name='test'] :selected").each(funtion(){...})
        2). jQuery 選擇器可以綜合使用
        3). 如果選擇器搞不定,可以調用方法實現
    [5]. jQuery 對象的幾個方法:
        1). val():獲取或設置表單元素的 value 屬性值
            設置值
                $(":text:enable").val("TEST");
            獲取值
                $(":text:enable".val())
        2).attr(): 和val()方法類似
            attr(name.val):為 name 屬性賦值為 val
            attr(name):獲取 name 屬性值
        3).each():對 jQuery 對象進行遍歷,其參數為 function, 函數內部的 this 是正在遍歷的 DOM 對象
            $("select :selected").each(function(){
                alert(this.val);
            })
        4).text():和 val() 方法類似
            text():獲取元素節點的文本子節點的值
            text(str):設置元素節點的文本子節點的值

    [6].使用jQuery進行DOM操作:
        1).新建(元素、屬性、文本)節點:直接使用$()包裝即可,返回值是一個jQuery對象。
            var $TEST = $("<li id='TEST'>測試</li>");
        2).節點插入到文檔中:
            ① append ,appendTo:把節點 A 插入為節點 B 的最后一個子節點

                $("<li id='TEST'>測試</li>").appendTo($("#city"));
                $("#city").append("<li id='TEST'>測試</li>");

            ② prepend ,prepenfTo

                $("<li id='TEST'>測試</li>").prependTo($("#city"));
                $("#city").prepend("<li id='TEST'>測試</li>");

            ③ before ,insertBefore

                $("<li id='DDD'>屌屌的</li>").insertBefore($("#bj"));
                $("#bj").before("<li id='DDD'>屌屌的</li>");

            ④ after ,insertAfter

                $("<li id='DDD'>屌屌的</li>").insertAfter($("#bj"));
                $("#bj").after("<li id='DDD'>屌屌的</li>");

        3).刪除節點:

            $("#bj").remove();

        4).清空節點:

            $("#game").empty();

        5).克隆節點:

            $("#bj").clone(true);

        6).替換節點:

            $("<li>測試</li>").repalceAll($("#citi li:last"));
        
            $("#city li:eq(1)").replaceWith($("<li>測試</li>"));

        7).wrap ,wrapAll ,wrapInner:了解

        8).val() ,html() ,text() ,attr() ,width() ,height() 等兼具有讀寫功能的方法.

            //讀取某個節點的html內容
            alert($("#city").html());
            
            //設置某個節點的html內容
            $("#city").html("<li id='DDD'>屌屌的</li>")

    [7].技術點之外:

        1). jQuery 對象可以進行隱式迭代: $("p").click(function(){...})為選取的所有的 p
        節點都添加了 click 響應函數. jQuery 對象本身就是一個DOM對象的數組.
        
        2). 在jQuery 中顯示迭代:使用 each() 方法:
            $(":checkbox[name='c']:checked").each(function(){
                alert(this.value);
            });

            可以在顯示迭代的響應函數的參數中通過index屬性獲取到正在遍歷的對象的索引.

        3).在響應函數中, this 是一個 DOM對象,若想使用jQuery對象的方法,需要把其包裝為
        jQuery對象:使用 $() 把 this 包起來.
            
        4). defaultValue :DOM 對象的屬性,可以獲取表單元素的默認值.

        5).通過 val() 為 radio 賦值:即便是為一組 radio 賦值,val參數中也應該使用數組,
        使用一個值不起作用

        6).val 不能直接獲取 checkbox 被選擇的值.若直接獲取,只能得到第一個被選擇的值.因
        為 $(":checkbox[name='c']:checked")得到的是一個數組,而使用val()方法只能獲取數組元素的第一個值,若希望打印被選擇的所有值,需使用 each 遍歷.
        而 radio 被選擇的只有一個,所以可以直接使用 val() 方法獲取被選擇的值.

        7).1. 同 JS 的響應函數一樣, jQuery 對象的響應函數若返回 false 可以取消指定元素
        的默認行為,比如 submit , a 等.
        
        8). $.trim(str) 可以去除 str 的前后空格.

        9).jQuery 對象的方法的連綴:調用一個方法的返回值還是調用的對象,于是可以在調用方法的后面依
        然調用先前那個對象的其他方法.

        10).find()方法:查找子節點,返回值為子節點對應的jQuery對象.

            var $trNode = $(aNode).parent().parent();
            //獲取 $tr 的第一個 td 節點的文本節點的文本值.
            var textContent = $trNode.find("tr:first").text();

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延长县| 商洛市| 拉孜县| 陵川县| 平泉县| 碌曲县| 屯昌县| 庆阳市| 全南县| 镇宁| 卫辉市| 北票市| 子洲县| 蒙城县| 普定县| 康保县| 黑河市| 霞浦县| 洪江市| 大渡口区| 游戏| 桃园市| 禄劝| 龙胜| 五原县| 遂川县| 廊坊市| 庆阳市| 天峨县| 咸丰县| 绩溪县| 甘德县| 成都市| 江都市| 黔南| 余干县| 朔州市| 隆子县| 新宁县| 微博| 利津县|