$.each 和$(selector).each()的区别

来源:互联网 发布:java判断质数的方法 编辑:程序博客网 时间:2024/05/01 09:13

案例一:

$.each(obj,function(attr,value){   //code})

obj (Object): 要重复迭代的对象或数组;

function(attr,value):回调函数

这个函数的回调中包含两个参数:第一个是key(对象)或index(数组),第二个是值。

如:

这是一个迭代数组中所有项目的例子,通过函数访问了其中的每个项目和索引。

$.each( [0,1,2], function(i, n){ alert( "Item #" + i + ": " + n ); });

如:

这是一个迭代对象中所有属性的例子,通过函数访问了每个属性的名称和值。

$.each( { name: "John", lang: "JS" }, function(i, n){ alert( "Name: " + i + ", Value: " + n ); });

 

案例二

$("button").click(function(){ 
$("div").each(function(index,domEle){ 
$(domEle).css("backgroundColor","wheat"); 
if($(this).is("#stop")){ 
$("span").text("在div块为#"+index+"的地方停止。"); 
return false; 

}); 

index:选择器的 index 位置,即当前元素的索引

domEle:当前的元素(也可使用 "this" 选择器)

这两个参数必不可少;

案例三:停止jquery循环:

$("button").click(function(){ 
$("div").each(function(index,domEle){ 
$(domEle).css("backgroundColor","wheat"); 
if($(this).is("#stop")){ 
$("span").text("在div块为#"+index+"的地方停止。"); 
return false; 

}); 

返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。 
返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。



$.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值(值亦可以通过this 关键字获取,但javascript总会包装this 值作为一个对象—尽管是一个字符串或是一个数字),方法会返回被遍历对象的第一参数


0 0
原创粉丝点击