<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 1、$符號的由來 **$符號本質就是函數的名字。** jquery源碼分析 ![這里寫圖片描述](https://box.kancloud.cn/2016-04-28_57218a0a33f03.jpg "") 通過分析我們知道,在jquery里邊不只可以使用$符號,還可以使用jQuery標志 **解決沖突問題** 有的項目是中間過渡項目(prototype和jquery框架都有使用) - prototype框架也使用$符號 - jquery里邊也使用符號現在就分不清楚符號到底是prototype框架的 還是 jquery框架的 jquery本身有方法可以是的$符號的使用權被讓出來 ~~~ jQuery.extend({ noConflict: function( deep ) { //使用一個空變量_$,把$符號給覆蓋 window.$ = _$; if ( deep ) { //使用一個空變量_jQuery把jQuery使用權收回 window.jQuery = _jQuery; } return jQuery; }, ~~~ ~~~ <script> //通過jquery指定方法讓出$符號的使用權 //被讓出使用權的$符號,就不能出現在jquery的應用里邊 //var jq = $.noConflict(); //收回$符號使用權 var jq = $.noConflict(true); //"$符號"和"jQuery"兩個使用權都被收回 function f1(){ //alert($("div").html()); //alert(jQuery("div").html()); console.log(jq("div").html()); console.log(jQuery("div").html()); //不允許使用jQuery } </script> <body> <div>I am bread</div> <input type="button" value="觸發" onclick="f1()" /> </body> ~~~ ### 2、jQuery對象與dom對象的區別和聯系 - jquery對象——$(“li”) - dom對象——document.getElementById(‘one’); **1. jquery對象創建過程中如何封裝dom代碼** ![這里寫圖片描述](https://box.kancloud.cn/2016-04-28_57218a0a45976.jpg "") 結論:`$(“#one”)[0] = document.getElementById(‘one’);` **2. jquery對象轉化為dom對象** a) jquery對象[下標] 例如 `$(“#one”)[0]` ~~~ //jquery對象調用dom對象的方法 $("#one")[0].setAttribute("class","pear");//說明jquery對象轉化為了dom對象 ~~~ 在jquery對象里邊獲得指定的dom對象 $(“li”)多個節點 ~~~ //jQuery 對象轉換為Domd對象 $("li")[3].style.color ="red"; ~~~ **3. dom對象轉換為jquery對象** a) var dv = document.getElementById(‘id’); b) $(dv) 轉化完畢 ~~~ //$("#one").css('color','red'); //$("#one")就是對dom代碼的封裝(document.getElementById) //利用dom對象調用jquery的方法(失敗) var dv = document.getElementById("one"); //jquery封裝dom代碼(dom對象) //$(dv) dv是div元素節點 nodeType=1(dom對象轉化為jquery對象) $(dv).css("color","green"); ~~~ ### 3、jquery對象分析 jquery對象創建:jQuery.fn.init(); (從105行——219行) 但是 css() html() attr() addClass()等方法在 100多行的init()里邊沒有具體的操作方法 下面來分析代碼結構: - jQuery.fn 代碼:104—338行 - jQuery.fn.init 代碼:105—219行 - jQuery.fn.init.prototype = jQuery.fn; - jQuery.fn.init通過原型鏈繼承jQuery.fn ![這里寫圖片描述](https://box.kancloud.cn/2016-04-28_57218a0a5fb6e.jpg "") jQuery.fn.init創建——>jQuery.fn.init 繼承 ——> jQuery.fn (例如 length、jquery、size屬性調用 ——> jQuery.fn 繼承extend 冒充繼承 (例如 addClass attr removeAttr) ~~~ jQuery.fn.init.prototype = jQuery.fn; jQuery.extend = jQuery.fn.extend = function() {} ~~~ - jquery對象創建完畢需要向上繼承**兩層**關系 - jquery之所以會調用許多相關方法,也是繼承得來的方法 **jquery在使用的時候可以使用兩種對象** 1. $(“#one”) 是普通jQuery.fn.init創建出來的對象 1. $.get(“url”) 不是jQuery.fn.init創建,而是jquery內部的jQuery對象 1. 例如: `$.noConflict()``$`符號就是內部jQuery對象 ![這里寫圖片描述](https://box.kancloud.cn/2016-04-28_57218a0a754a2.jpg "") 該對象$,代碼行數22—915行 `$`符號對象本身也有冒充繼承,我們直接調用$符號的相關方法,首先去22-915行找,如果沒有,就去extend繼承方法里邊找 ![這里寫圖片描述](https://box.kancloud.cn/2016-04-28_57218a0a90067.jpg "") 系統里邊有兩套extend冒充繼承:**普通jquery對象的、$符號的** ### 4、總結: - 1、 $符號由來 - 2、 jquery對象與dom對象互相轉化 - 3、 jquery對象分析 - a) jquery生成好的對象繼承 jQuery.fn - b) jQuery.fn 通過冒充繼承 extend,又得到了許多屬性和方法
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看