jquery arr.each(fn)=$.each(arr,fn)

sheng3341535 2012-05-02 08:56:56
jquery中 arr.each(fn)是不是等于$.each(arr,fn)
...全文
52 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
乌镇程序员 2012-05-02
  • 打赏
  • 举报
回复
就你说的这种情况下是等价的,但这两个方法本身是有点区别的,看官方文档中的说明:
[QUOTE]The $.each() function is not the same as $(selector).each(), which is used to iterate, exclusively, over a jQuery object. The $.each() function can be used to iterate over any collection, whether it is a map (JavaScript object) or an array. [/QUOTE]

意思就是说,对于$(selector).each()只能遍历jQuery对象,而$.each()方法可以遍历任何集合(包括JS数组和对象)。
sheng3341535 2012-05-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
自己试一下就知道了:

JScript code

//直接对一个对象调用each()方法会报错,TypeError: Object a,b has no method 'each'
['a', 'b'].each( function(k, v) {
alert(v);
});

//将JS数组对象转换为jQuery对象后再调用each()就可以了,等价于$.each(a……
[/Quote]


我指的是 比如说$("input").each(function(key,value){}) 和$.each($("input"),function(key,value){}) 这两个是不是一样啊!!!
乌镇程序员 2012-05-02
  • 打赏
  • 举报
回复
自己试一下就知道了:
//直接对一个对象调用each()方法会报错,TypeError: Object a,b has no method 'each'
['a', 'b'].each( function(k, v) {
alert(v);
});

//将JS数组对象转换为jQuery对象后再调用each()就可以了,等价于$.each(arr,fn)
$(['a', 'b']).each( function(k, v) {
alert(v);
});

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧