JQuery中的工具函數總結


前提引入

前提當然也是要引入Jquery啦。。。

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>

工具方法

獲取瀏覽器的名稱與版本信息

在jQuery中,通過$.browser對象可以獲取瀏覽器的名稱和版本信息,如$.browser.chrome為true,表示當前為Chrome瀏覽器,$.browser.mozilla為true,表示當前為火狐瀏覽器,還可以通過$.browser.version方式獲取瀏覽器版本信息。

例如,調用$.browser對象,獲取瀏覽器名稱並顯示在頁面中,如下圖所示:

 

②檢測瀏覽器是否屬於W3C盒子模型

瀏覽器的盒子模型分為兩類,一類為標准的w3c盒子模型,另一類為IE盒子模型,兩者區別為在Width和Height這兩個屬性值中是否包含padding和border的值,w3c盒子模型不包含,IE盒子模型則包含,而在jQuery 中,可以通過$.support.boxModel對象返回的值,檢測瀏覽器是否屬於標准的w3c盒子模型。

例如,根據頁面的特征,並通過$.support.boxModel屬性的返回值,顯示當前瀏覽器是否屬於標准的w3c盒子模型,如下圖所示:

③檢測對象是否為空

在jQuery中,可以調用名為$.isEmptyObject的工具函數,檢測一個對象的內容是否為空,如果為空,則該函數返回true,否則,返回false值,調用格式如下:

$.isEmptyObject(obj);

其中,參數obj表示需要檢測的對象名稱。

例如,通過$.isEmptyObject()函數,檢測某個指定的對象是否為空,並將結果顯示在頁面中,如下圖所示:

④檢測對象是否為原始對象

調用名為$.isPlainObject的工具函數,能檢測對象是否為通過{}new Object()關鍵字創建的原始對象,如果是,返回true,否則,返回false值,調用格式為:

$.isPlainObject (obj);

其中,參數obj表示需要檢測的對象名稱。

例如,通過$.isPlainObject()函數,檢測某個指定的對象是否為原始,並將結果顯示在頁面中,如下圖所示:

⑤檢測兩個節點的包含關系

調用名為$.contains的工具函數,能檢測在一個DOM節點中是否包含另外一個DOM節點,如果包含,返回true,否則,返回false值,調用格式為:

$.contains (container, contained);

參數container表示一個DOM對象節點元素,用於包含其他節點的容器,contained是另一個DOM對象節點元素,用於被其他容器所包含。

例如,通過$.contains()函數,檢測兩個節點對象間是否存在包含關系,並將檢測的結果顯示在頁面中,如下圖所示:

⑥字符串操作函數

調用名為$.trim的工具函數,能刪除字符串中左右兩邊的空格符,但該函數不能刪除字符串中間的空格,調用格式為:

$.trim (str);

參數str表示需要刪除左右兩邊空格符的字符串。

例如,通過$.trim()函數,除掉一個兩邊均有空格符的字符串,並將其執行前后的字符長度都顯示在頁面中,如下圖所示:

⑦URL操作函數

調用名為$. param的工具函數,能使對象或數組按照key/value格式進行序列化編碼,該編碼后的值常用於向服務端發送URL請求,調用格式為:

$. param (obj);

參數obj表示需要進行序列化的對象,該對象也可以是一個數組,整個函數返回一個經過序列化編碼后的字符串。

例如,通過$.param()函數,對指定的對象進行序列化編碼,使其成為可執行傳值的URL地址,並將該地址顯示在頁面中,如下圖所示:

序列化后:

備注:上一篇博文提到的$.serialize方法與這個方法有什么區別呢?$.param方法是對任意的參數進行URL地址格式的轉換,而$.serialize方法僅屬於form提交的數據轉換。

⑧使用$.extend()擴展工具函數

調用名為$. extend的工具函數,可以對原有的工具函數進行擴展,自定義類級別的jQuery插件,調用格式為:

$. extend ({options});

參數options表示自定義插件的函數內容。

例如,調用$.extend()函數,自定義一個用於返回兩個數中最大值的插件,並在頁面中將插件返回的最大值顯示在頁面中,如下圖所示:

⑨使用$.extend()擴展Object對象

除使用$.extend擴展工具函數外,還可以擴展原有的Object對象,在擴展對象時,兩個對象將進行合並,當存在相同屬性名時,后者將覆蓋前者,調用格式為:

$. extend (obj1,obj2,…objN);

參數obj1至objN表示需要合並的各個原有對象。

例如,調用$.extend()函數對兩個已有的對象進行合並,並將合並后的新對象元素內容顯示在頁面中,如下圖所示:

結果:

從圖中可以看出,當兩個對象通過$.extend()函數擴展合並后,返回一個包含兩個對象中全部屬性元素的新對象,相同名稱的“name”屬性,前者被后者覆蓋。

 

好啦。還有Jquery插件總結改天再寫啦~~~~

歡迎關注我的個人微信訂閱號:前端生活


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM