[JS] $.each(), $(selector).each()

.each() (selector).each()不同,
$(selector).each() : 专用于jquery对象的遍历,

$.each() : 可用于遍历任何的集合(无论是数组或对象)

1. $.each遍历数组/json对象

1) 查看一个简单的jQuery的例子来遍历一个JavaScript数组对象。

 var json = [
    {"id":"1","tagName":"apple"},
    {"id":"2","tagName":"orange"},
    {"id":"3","tagName":"banana"},
    {"id":"4","tagName":"watermelon"},
    {"id":"5","tagName":"pineapple"}
];

$.each(json, function(idx, obj) {
    alert(obj.tagName);
});

上面的代码片断工作正常,提示 “apple”, “orange” … 等,如预期一样。

2)JSON 字符串

var json = '[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},
{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},
{"id":"5","tagName":"pineapple"}]';

$.each(JSON.parse(json), function(idx, obj) {
    alert(obj.tagName);
});

2. $.each遍历 dom 对象

<input name="aaa" type="hidden" value="111" />
<input name="bbb" type="hidden" value="222" />
<input name="ccc" type="hidden" value="333" />
<input name="ddd" type="hidden"  value="444"/>

然后你使用each如下

$.each($("input:hidden"), function(i,val){  
     alert(val);
     alert(i);
     alert(val.name);
     alert(val.value);   
 });  

 // or

  $("input:hidden").each(function(i,val){
    alert(i);
    alert(val.name);
    alert(val.value);       
}); 

那么,alert(val)将输出[object HTMLInputElement],因为它是一个表单元素。

alert(i) : 0,1,2,3

alert(val.name) : aaa,bbb,ccc,ddd,使用this.name将输出同样的结果
alert(val.value) :111,222,333,444,使用this.value将输出同样的结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`each()` 和 `forEach()` 的主要区别在于它们的使用场景和语法。 `each()` 是 jQuery 对象的方法,用于遍历一个 jQuery 对象中的所有元素,并对每个元素执行一个函数。它的语法如下: ```javascript $.each(array, function(index, value) { // 对每个元素执行的函数 }); ``` 其中,`array` 可以是数组、类数组对象或对象,用于遍历的目标;`function` 是每个元素要执行的函数,可以接受两个参数:`index` 表示当前元素在 `array` 中的索引,从 0 开始计数;`value` 表示当前元素的值。 在 jQuery 中,`each()` 方法也可以用于遍历 jQuery 对象,语法类似: ```javascript $('selector').each(function(index, element) { // 对每个元素执行的函数 }); ``` 其中,`selector` 是要查询的元素,可以是 CSS 选择器、DOM 元素、jQuery 对象等;`function` 是每个元素要执行的函数,可以接受两个参数:`index` 表示当前元素在 jQuery 对象中的索引,从 0 开始计数;`element` 表示当前元素的 DOM 对象。 `forEach()` 是 JavaScript 原生对象 `Array` 的方法,用于遍历一个数组,并对每个元素执行一个函数。它的语法如下: ```javascript array.forEach(function(value, index, array) { // 对每个元素执行的函数 }); ``` 其中,`array` 是要遍历的数组,`function` 是每个元素要执行的函数,可以接受三个参数:`value` 表示当前元素的值;`index` 表示当前元素在数组中的索引,从 0 开始计数;`array` 表示当前数组。 因此,`each()` 更适合用于遍历 jQuery 对象和类数组对象,而 `forEach()` 更适合用于遍历数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值