美文网首页程序员
jQuery之工具函数

jQuery之工具函数

作者: xujingguo | 来源:发表于2016-12-16 00:13 被阅读0次

检测浏览器类型

由于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.把对象转换为字符串

$.param将字符串创建为一个序列化的数组或对象。该方法特别适用于一个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.判断数组类型

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

4.判断函数类型

            //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节点是否在XML文档中

6.对数组和集合进行迭代

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

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

7.生成数组

$.makeArray(obj)将类数组结构装换为真正的数组结构

如,通过$("li")orgetEmementByTagName("li")获得的是一个类数组结构,但是通过makeArray函数转换后就是数组对象

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

8.对数组进行筛选

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

  • function用来处理每个项目的对比,与each不同,第一个参数是元素,第二个参数时索引
  • 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.对数组进行转换

$.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.把多个数组结合在一起

$.merge(first,second)

11.删除数组中重复元素

$.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.在数组中查找指定值

$.inArray(value,array)

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

缓存

数据缓存的作用就是在一个元素上存取元素而避免循环引用的风险,jQuery通过data函数实现数据缓存的机制

$.data(element,key,value)

  • element表示要关联数据的DOM对象
  • key表示存储的数据名
  • value表示新数据值
            var liObj = $("li")
            $.each(liObj,function(name,index){
                liObj.eq(name).data("indexLi",name) //给每一个li创建数据名indexLi,并用索                                                    //引给其赋值
            })
            $.each(liObj,function(name,index){
                console.log(liObj.eq(name).data("indexLi"))   //读取indexLi的内容
            })
            //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

相关文章

  • jQuery之工具函数

    检测浏览器类型 由于jQuery1.9版本取消了对$.browser的支持,采用$.support来判断浏览器类型...

  • jQuery工具函数

    工具函数是指在jQuery对象(即变量”$”)上定义的函数. 这些函数都是工具类函数. 废话不多说,以简单的例子切...

  • JQ第一天

    JQ初级 一、认识jQuery 1、什么是jQuery jQuery是对原生JavaScript二次封装的工具函数...

  • 030 JQ初级

    JQ初级 一、认识jQuery 1、什么是jQuery jQuery是对原生JavaScript二次封装的工具函数...

  • jQuery中的事件和事件对象

    1.加载文档事件 $(document)ready();$.holdReady(bool)【jQuery的工具函数...

  • jquery 工具类函数

    一、获取浏览器的名称与版本信息 在jQuery中,通过$.browser对象可以获取浏览器的名称和版本信息,如$....

  • jQuery核心函数$()

    jQuery核心函数jQuery对象是什么jQuery核心函数命名冲突 1. jQuery核心函数 核心函数括号内...

  • jquery中事件和事件对象

    1.加载文档事件 jquery工具函数 [1]$(document).ready() [2]$.holdReady...

  • jQuery

    jQuery 描述 主要的 jQuery 函数是 $() 函数(jQuery 函数)。如果您向该函数传递 DOM ...

  • jQuery入口函数的作用以及jQuery入口函数和js入口函数

    jQuery的入口函数 js和JQuery入口函数的区别 JS入口函数和JQuery入口函数

网友评论

    本文标题: jQuery之工具函数

    本文链接:https://www.haomeiwen.com/subject/iutnmttx.html