jQuery記憶與問題

【jQuery操做必定要作變量本地化】(功能強大,一定效率不高)
一、本地化的意思是把 var dom =  $("dom"); 
    這樣就是變量本地化(這樣作緣由是,$的屬性方法不少,效率不高,本地化就是提升效率)php

【入口函數】
一、JQ入口函數,是在頁面dom元素加載完畢後就開始加載    
    JS入口函數等頁面所有加載完再加載(包括圖片)css

【width()和innerWidth()】
一、.width() 只能獲取內容的寬度
二、.innerWidth()獲取包括padding內的寬度不包括邊框
三、.outerWidth() 獲取包括border在內的寬度,不包括margin
四、.outerWidth(true) 獲取包括margin在內的寬度ajax

【jq的offset().left】
一、jq的offset().left獲取離窗口的左邊距,與有定位父級無關  *************和JS不一樣json

【.children("p")和.find("p")】
一、均可以尋找後代,但find能找後代的後代,children不能數組

【$("li:gt(2):lt(9)")】
一、這裏意思是 從第3個Li 選擇 到第13個li     連寫後面的lt是表明 從第三個開始角標爲0計算瀏覽器

【end()和addBack()】
一、 .end() 選擇前一級的元素
二、 .addBack() 選擇前面全部的元素安全

【$.trim(str)】
一、 清除字符串裏面的空格閉包

【清除冒泡或清除默認事件】
一、return false            // 不能清除冒泡,只能清除默認事件
二、event.stopPropagation()    //清除冒泡
三、event.preventDefault         // 不能清除冒泡,只能清除默認事件
四、JQ   triggleHandler()    // 清除冒泡,清除默認事件框架

【表單序列化】(當表單用JQ的ajax方法)
一、data : $('#my_form').serialize();   (前提:表單input裏面的name要與php文件裏面的參數(.GET("name"))要一致)dom

****************eg:/*data : {/!*
                                使用這種方式獲取輸入的數據 , 若是數據量很是大的時候,就很是麻煩
                              這個時候咱們可使用表單序列化的方式進行.
                    *!/
                        /!*name : $('input[name = name]').val(),
                        pwd : $('input[name = pwd]').val()*!/

                    }*/

【remove()和empty()】
一、$("ul").remove();    直接刪除ul節點
二、$("ul").empty();    刪除ul裏面全部內容,不包括ul

【$(window)】
一、 window不用雙引號

【delete】(JS的方法)(案例看jq的備忘錄刪除功能)
一、delete刪除掉數組中的元素後,會把該下標出的值爲undefined,數組的長度不會變


【continue】
一、jQ裏面的$.each()方法不能使用continue;只能用原始的for循環才能使用

【普通事件和委託事件】
一、obj.click()  和 parent .on("click",obj,function(){})
*************************************************************
當用JS動態建立的dom元素就必須用委託on去綁定事件        其他都用.click();

【data】
eg: <li data-xxx="xxxxx">aaa</li>        (這裏aaa是展示,xxxxx是跟這個li相關的數據)
一、 自定義屬性data-  ********** 經過DOM存儲於DOM對象強相關的數據
二、 JS源生獲取data    dom.dataset["xxx"];
三、 JQ              $("obj").data("xxx");


【備忘錄學習地方】(JQ備忘錄)
一、store插件的使用   store.set("arr1",arr) store.get("arr1")  store.clear(); 
    store能保存本地數據,下次刷新的時候數組不會清空

**************************每次更改數組內容 都要更新store.set("arr1");  由於store存儲的數據會根據瀏覽器自動選擇使用 localStorage、globalStorage 或者 userData 來實現本地存儲功能。

二、經過{}建立對象做爲備忘錄項,並添加到數組裏

三、delete刪除掉數組中的元素後,會把該下標出的值爲undefined,數組的長度不會變,本來的下標不會改變

四、continue:jQ裏面的$.each()方法不能使用continue;只能用原始的for循環才能使用

五、$.trim(str)

六、時間戳 (new Date()).getTime()

七、jq獲取日期時間的插件


【$.extend】(寫JQ插件的)(JQ)
一、原理  $.extend(json1,json2);     若是2者有相同屬性,json2會覆蓋json1的該屬性

二、寫插件要寫css 和 js  2個文件

三、js 默認樣式   (function($){
            $.fn.extend({
                myFn : function(){}
            })
         }
         )(jQuery)

四、往後寫框架,用閉包更安全  var initTab = (function($){ function init(){} return init;})(jQuery)

                initTab();   //return

相關文章
相關標籤/搜索