jQuery之工具函數(shù)

檢測瀏覽器類型

由于jQuery1.9版本取消了對$.browser的支持,采用$.support來判斷瀏覽器類型

navigator.userAgent

對象和集合操作

1.處理字符串

$.trim(str)清理字符串前后的空白

var str=" hello world! "
str = $.trim(str)
console.log(str)   //result:hello world!
console.log(str.length)   //result:12

2.把對象轉(zhuǎn)換為字符串

$.param將字符串創(chuàng)建為一個序列化的數(shù)組或?qū)ο?。該方法特別適用于一個URL地址查詢字符串或ajax請求。

            var option={
                user:"demo",
                passwd:"12345678"
            }
            optionStr=$.param(option)
            console.log(optionStr)  //result:user=demo&passwd=12345678
            console.log(optionStr.length)   //result:25

3.判斷數(shù)組類型

var array = new Array()
console.log($.isArray(array))
//result: true

4.判斷函數(shù)類型

            //is function
            function isFun(){

            }
            console.log($.isFunction(isFun))
            //result:true

5.判斷特殊對象

5.1檢測空對象
var array = new Array()
console.log($.isEmptyObject(array))
//result:true
5.2檢測純對象
var plainObject = new Object()
console.log($.isPlainObject(plainObject))
//result:true
5.3檢測window對象

$.isWindow(obj)檢測一個對象是否為Window對象

5.4檢測XML文檔

$.isXMLDoc(node)檢測一個DOM節(jié)點是否在XML文檔中

6.對數(shù)組和集合進行迭代

$.each(collection,callback(indexArray,valueOfElement))

            arrayEach = new Array("h","e","l","l","l")
            $.each(arrayEach,function(name,value){
                alert(name+"="+value)
            })

7.生成數(shù)組

$.makeArray(obj)將類數(shù)組結(jié)構(gòu)裝換為真正的數(shù)組結(jié)構(gòu)

如,通過$("li")orgetEmementByTagName("li")獲得的是一個類數(shù)組結(jié)構(gòu),但是通過makeArray函數(shù)轉(zhuǎn)換后就是數(shù)組對象

objLi = $("li")
            console.log($.isArray(objLi))
            arrLi = $.makeArray(objLi)
            console.log($.isArray(arrLi))

8.對數(shù)組進行篩選

$.grep(array,function(elementOfArray,IndexInArray),[invert])

  • function用來處理每個項目的對比,與each不同,第一個參數(shù)是元素,第二個參數(shù)時索引
  • invert為true,對callback返回true,如果為false,對callback返回false
            var array = new Array("1","2","3","4","5","6","7","8")
            arrayGt=$.grep(array,function(value,index){
                return value>=5
            })
            console.log(arrayGt)  //result:5,6,7,8
            arrayLt=$.grep(array,function(value,index){
                return value>=5
            },true)
            console.log(arrayLt)  //result:1,2,3,4

9.對數(shù)組進行轉(zhuǎn)換

$.map(array,[callback(element,vale)])

            var array = new Array("1","2","3","4","5","6","7","8")
            console.log($.map(array,function(value){
                return value*2
            }))
            //result:2, 4, 6, 8, 10, 12, 14, 16

10.把多個數(shù)組結(jié)合在一起

$.merge(first,second)

11.刪除數(shù)組中重復(fù)元素

$.unique(array)

var array = new Array("1","2","3","4","5","6","7","8","8")
console.log($.unique(array))
//result: 2, 4, 6, 8, 10, 12, 14, 16

12.在數(shù)組中查找指定值

$.inArray(value,array)

var array = new Array("1","2","3","4","5","6","7","8")
alert($.inArray("8",array))
//result:7

緩存

數(shù)據(jù)緩存的作用就是在一個元素上存取元素而避免循環(huán)引用的風(fēng)險,jQuery通過data函數(shù)實現(xiàn)數(shù)據(jù)緩存的機制

$.data(element,key,value)

  • element表示要關(guān)聯(lián)數(shù)據(jù)的DOM對象
  • key表示存儲的數(shù)據(jù)名
  • value表示新數(shù)據(jù)值
            var liObj = $("li")
            $.each(liObj,function(name,index){
                liObj.eq(name).data("indexLi",name) //給每一個li創(chuàng)建數(shù)據(jù)名indexLi,并用索                                                    //引給其賦值
            })
            $.each(liObj,function(name,index){
                console.log(liObj.eq(name).data("indexLi"))   //讀取indexLi的內(nèi)容
            })
            //result: 0,1,2,3

$.removeData(element,[name])

            var liObj = $("li")
            $.each(liObj,function(name,index){

                liObj.eq(name).data("indexLi",name)
            })
            $("li").removeData("indexLi")  //刪除名稱為indexLi的緩存
            $.each(liObj,function(name,index){
                console.log(liObj.eq(name).data("indexLi"))
            })
            //result:undefined
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解...
    上街買菜丶迷倒老太閱讀 1,510評論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解包。 uni...
    思夢PHP閱讀 2,146評論 1 24
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計者無需花費時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,515評論 0 2
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計者無需花費時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,277評論 0 1
  • Android 3.0之后,Google引入了ActionBar,想統(tǒng)一安卓應(yīng)用的導(dǎo)航欄樣式。但由于ActionB...
    亦楓閱讀 2,294評論 1 29

友情鏈接更多精彩內(nèi)容