標籤:針對 開發人員 容器 jquer 格式 相關 ges 選項 url
1. 什麼是工具函數
在jQuery中,工具函數是指直接依附於jQuery對象、針對jquery對象本身定義的說法,即全域性的函數,我們統稱為工具函數,或Utilities函數。它們有一個明顯的特徵,一般情況下,採用如下的格式進行調用:
$.函數名()或jquery.函數()
2.工具函數的分類
根據工具函數處理對象的不同,可以將其分為下列幾大類別:瀏覽器的檢測、數組和對象的操作、字串操作、測試操作、URL操作。
1)瀏覽器的檢測
在瀏覽器檢測中,又可分為瀏覽器類型與特徵的檢測,前者擷取瀏覽器的名稱或版本資訊,後者檢測瀏覽器時候支援標準的W3C盒子模型。
瀏覽器名稱或版本資訊
雖然jquery有很好的瀏覽器安全色性,但有時程式開發人員需要擷取瀏覽器的相關資訊,用於提供使用者或程式,在jquery中,可以通過訪問$.browser對象的屬性擷取。$.browser對象即jQuery.browser對象,用於處理與瀏覽器相關的事務,該對象的屬性如下:
盒子模型
盒子模型是CSS中的專屬名詞,用以描述版面設定中的各種屬性
W3C盒子 模型的width和height不包含padding和border
IE盒子 模型width和height包含padding和border
$.support.boxModel 屬性 為true 為W3C盒子模型,否則為IE盒子模型
數組和對象的操作
1)遍曆數組
使用$.each()工具函數,不僅可以實現頁面中元素的遍曆,還可以完成指定數組的遍曆,其調用的文法格式如下:
$.each(obj,fn(para1,para2))
其中參數obj,表示要遍曆的數組或對象,fn為每個遍曆元素執行的回呼函數,該函數包含兩個參數,para1表示數組的序號或對象的屬性,para2表示數組的元素和對象的屬性。
2)遍曆對象
$.each()函數除了遍曆數組外,還可以遍曆對象,擷取對象的屬性和值。
3)資料篩選
在運算元組時,有時需要根據各種條件式篩選元素,傳統的JavaScript代碼將遍曆整個數組,在遍曆中設定篩選規則的元素。而在jQuery中使用grep(),格式如下:
$.grep(array,function(elementOfArray,indexInArray),[invert])
其中,參數array為要篩選的原數組,回呼函數fn中可以設定兩個參數,其中elementOfArray為數組中的元素,indexInArray為元素在數組中的序號;另外,可選項[invert]為布爾值,表示是否根據fn的規則取反向結果,預設值為false,表示不取反,如果為true,表示取反,即返回與回呼函數fn規則相反的資料。
條件 卸載 fn的return中,例如:ele >5 && index <8
4) 資料變更
按指定條件修改數組中的所選元素,
$.map(array,fn(eleArr,indexArr))
其中,參數array為要變更的原數組,回呼函數fn中可以設定兩個參數,其中eleArr為數組中的元素,indexArr為元素在數組中的序號。
5) 資料搜尋
在jQuery中,如果要在數組中搜尋某個元素,可以使用工具函數$.inArray(),該方法相當於用JavaScript中的indexOf()搜尋字串中的某個字元。在工具函數$.inArray()中,如果找到了指定的某個元素,則返回該元素在數組中的索引號,否則,返回-1值。其調用格式如下:
$.inArray(value,array)
其中,參數value表示要搜尋的對象,array表示搜尋對象的數組。
字串操作
如果要除掉字元中左右兩邊的空格符,可以使用工具函數$.trim()。
$.trim(str)
測試操作
原始對象:即對象是否通過{}或 new Object()關鍵字建立
$.contains()函數
$.contains()函數用於檢測在一個DOM節點中是否包含另外一個DOM節點,其文法如下:
$.contains(container,contained)
其中:參數container為Object,是一個DOM元素,作為容器,可以包含其他DOM元素;參數contained也是一個DOM是一個節點,可能被其他元素包含。整個函數返回一個布爾值,如果包含返回true,否則返回false。
URL操作
$.param(obj,[traditional])
其中:參數obj表示需要進行序列化的對象,該對象可以是數組、jQuery元素、普通對象;可選項參數[traditional],表示是否使用普通話的方式淺層序列化,該函數返回一個序列化,該函數返回一個序列化後的字串。
$.extend()擴充工具函數
$.proxy()函數 改變綁定事件的範圍
jQuery使用工具函數