jQuery学习之三---工具

本文详细介绍了jQuery中的关键方法,包括数组和对象的操作方法如each、grep、map等,以及字符串处理方法trim等。同时,还介绍了如何检测不同类型的对象及jQuery版本号的获取方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博文会挑选一些比较重要的内容进行分析解释,恭迎大家观看哦,加油,一起学习!!

数组和对象操作

1、$.each(object,[callback])

通用例遍方法,可用于例遍对象和数组。
回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。
不同于例遍 jQuery 对象的 $().each() 方法,此方法可用于例遍任何对象。

//遍历数组
$.each([2017,11,25],function(i,n)){
    console.log(i,n);//0,2017 1,11 2,25
}
//遍历对象
$.each({name:"pingzi",sex:"girl"},function(i,n)){
    console.log(i,n);//0,pingzi 1,girl
}

2、$.grep(array,callback,[invert])
使用过滤函数过滤数组元素。
此函数的前两个参数是必选的:待过滤数组和过滤函数callback,此函数将处理数组每个元素。第一个参数为当前元素,第二个参数为元素索引值。此函数应返回一个布尔值,返回true以保留元素,false以删除元素。
invert,是决定grep函数返回值的。默认为false,这个时候grep函数返回符合过滤函数return条件的新数组,就是删除了不符合条件的元素的新数组

$.grep([0,1,2],function(n,i){
    return n>0;
})
//[1,2]

当invert设置为true时,grep函数返回被过滤掉的元素数组,内容是被删除的元素

$.grep([2017,11,25],function(n,i){
    return n>1;
},true)
//[0,1]

3、$.map(arr|obj,callback)
将一个数组中的元素转换到另一个数组中。
通俗的说,就是把一个数组里面的元素,通过callback进行操作之后,返回一个新数组的过程。

//将原数组中每个元素+4转换成一个新数组
$.map([0,1,2],function(n){
    return n+4;
});
//[4,5,6]

//原数组中每个元素扩展为一个包含本身和其值+1的数组,并转换为一个新的数组
    //哎呦好气哦,这个题目为啥子一定要说的这么洋气,其实不就是返回数组本身和其本来的元素+1的数组嘛,有毛病哦
$.map([0,1,2],function(n){
    return [n,n+1];
});
//[0,1,1,2,2,3]

4、$.inArray(val,arr)
参一:查找的内容
参二:待处理的数组
确定第一个参数在数组中的位置,从0开始计数,如没找到返回-1

var arr = ["pingzi",7,8,"child"];
$.inArray("pingzi",arr);0
$.inArray(9,arr);//-1

5、$.toArray()
把jq集合中所有的DOM元素转化为一个数组

<li>1</li>
<li>2</li>
<li>3</li>
$("li").toArray();//[<li>1</li>,<li>2</li>,<li>3</li>]

6、$.merge(fir,sec)
合并两个数组,返回结果会修改第一个数组的内容,第二个数组的元素加在第一个数组元素后面。

$.merge( [0,1,2], [2,3,4] );//[0,1,2,2,3,4]

测试操作

7、$.contains(container,contained)
一个DOM节点是否包含另一个DOM节点
container:DOM元素作为容器,可以包含其他元素
contained:DOM节点,可能被其他元素所包含

//检测一个元素是否包含另一个元素
$.contains(document.documentElement,document.body);//true
$.contains(document.body,document.documentElement);//false

8、$.type(obj)
检测obj的数组类型

jQuery.type(true) === "boolean"   
jQuery.type(3) === "number"
jQuery.type("test") === "string"
jQuery.type(function(){}) === "function"
jQuery.type([]) === "array"
jQuery.type(new Date()) === "date"
jQuery.type(/test/) === "regexp"

9、$.isFunction(obj)

检测obj是不是函数

10、 $.isEmptyObject(obj)
jQuery 1.4 新增。测试对象是否是空对象(不包含任何属性)。
jQuery 1.4 中,这个方法既检测对象本身的属性,也检测从原型继承的属性

$.isEmptyObject({}) // true
$.isEmptyObject({ foo: "bar" }) // false

11、 $.isWindow(obj)

测试对象是否是窗口(有可能是Frame)。

12、 $.isNumeric(value)

确定它的参数是否是一个数字。
$.isNumeric() 方法检查它的参数是否代表一个数值。如果是这样,它返回 true。否则,它返回false。该参数可以是任何类型的


字符串操作

13、$.trim(str)
去掉字符串起始和结尾的空格

$.trim("  hello, how are you?  ");
//"hello, how are you?"

插件编写

14、 $.fn.jquery
代表 jQuery 版本号的字符串。

//取得页面上当前使用的 jQuery 的版本号。
alert( 'You are running jQuery version: ' + $.fn.jquery );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值