分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

JQuery中$.each 和$(selector).each()的区别详解

发布时间:2023-09-06 02:32责任编辑:赖小花关键词:暂无标签

JQuery中$.each 和$(selector).each()的区别详解

 

 1、$(selector).each()

jQuery 遍历 - each() 方法主要用于DOM遍历,

each() 方法规定为每个匹配元素规定运行的函数。

语法:

$(selector).each(function(index,element))

W3School上显示回调函数是必须的,index - 选择器的 index 位置,element - 当前的元素(也可使用 "this" 选择器).

对于这个方法,在dom处理上面用的较多。

如果页面有多个input标签类型为checkbox,对于这时用$().each来处理多个checkbook,例如:

$(“input[name=’ch’]”).each(function(i){ ???if($(this).attr(‘checked’)==true) { ???????//一些操作代码 ???}})
回调函数是可以传递参数,i 就为遍历的索引。

 2、$.each()

在数组等数据处理上比较好用

对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素逐一进行方法调用。

each()函数是基本上所有的框架都提供了的一个工具类函数,通过它,你可以遍历对象、数组的属性值并进行处理。jQuery和jQuery对象都实 现了该方法,对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话 说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素逐一进行方法调用。而jQuery对象提供的each方法则是对jQuery内 部的子元素进行逐个调用。

each函数根据参数的类型实现的效果不完全一致:

1、遍历对象(有附加参数):

$.each(Object, function(p1, p2) { ?????this; ??????//这里的this指向每次遍历中Object的当前属性值 ?????p1; p2; ????//访问附加参数 }, [‘参数1‘, ‘参数2‘]); 

2、遍历数组(有附件参数):

$.each(Array, function(p1, p2){ ?????this; ??????//这里的this指向每次遍历中Array的当前元素 ?????p1; p2; ????//访问附加参数 }, [‘参数1‘, ‘参数2‘]); 

3、遍历对象(没有附加参数)

$.each(Object, function(name, value) { ?????this; ?????//this指向当前属性的值 ?????name; ?????//name表示Object当前属性的名称 ?????value; ????//value表示Object当前属性的值 });
 
4、遍历数组(没有附加参数)
 $.each(Array, function(i, value) { ??????this; ?????//this指向当前元素 ??????i; ????????//i表示Array当前下标 ??????value; ????//value表示Array当前元素 ?}); ?

下面提一下jQuery的each方法的几种常用的用法实例

 ???????????????var arr = ["one", "two", "three", "four"]; ???????????????$.each(arr, function() { ???????????alert(this); ???????}); ????????//上面这个each输出的结果分别为:one,two,three,four // ------------------------------------------------------- ???????????????????var arr1 = [ ???????????[1, 4, 3], ???????????[4, 6, 6], ???????????[7, 20, 9] ???????] ???????????????$.each(arr1, function(i, item) { ???????????alert(item[0]); ???????}); ????????//其实arr1为一个二维数组,item相当于取每一个一维数组, ?????????//item[0]相对于取每一个一维数组里的第一个值 ?????????//所以上面这个each输出分别为:1 4 7 ????// ------------------------------------------------------- ???????????????????????var obj = { ???????????one: 1, ???????????two: 2, ???????????three: 3, ???????????four: 4 ???????}; ???????????????$.each(obj, function(key, val) { ???????????alert(obj[key]); ???????}); ????????//这个each就有更厉害了,能循环每一个属性 ?????????//输出结果为:1 2 3 4// ------------------------------------------------------- ???

JQuery中$.each 和$(selector).each()的区别详解

原文地址:https://www.cnblogs.com/libin6505/p/10344914.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved