当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JQuery jQuery.each()用法及代码示例


用法
jQuery.each( array, callback ) => Object

说明:一个通用迭代器函数,可用于无缝迭代对象和数组。具有长度属性的数组和array-like 对象(例如函数的参数对象)由数字索引迭代,从 0 到 length-1。其他对象通过其命名属性进行迭代。

  • 添加的版本:1.0jQuery.each( array, callback )

  • 添加的版本:1.0jQuery.each( object, callback )

    • object
      类型:Object
      要迭代的对象。
    • callback
      类型:Function(StringpropertyName,ObjectvalueOfProperty)
      将对每个值执行的函数。

$.each() 函数与 $(selector).each() 不同,后者用于以独占方式迭代 jQuery 对象。 $.each() 函数可用于迭代任何集合,无论它是对象还是数组。在数组的情况下,回调每次都会传递一个数组索引和一个对应的数组值。 (该值也可以通过 this 关键字访问,但 Javascript 将始终将 this 值包装为 Object,即使它是简单的字符串或数字值。)该方法返回其第一个参数,即对象这是迭代的。

$.each([ 52, 97 ], function( index, value ) {
  alert( index + ": " + value );
});

这会产生两条消息:

0:52
1:97

如果使用对象作为集合,则每次回调都会传递一个键值对:

var obj = {
  "flammable": "inflammable",
  "duh": "no duh"
};
$.each( obj, function( key, value ) {
  alert( key + ": " + value );
});

再次,这会产生两条消息:

易燃:易燃
呵呵:不,呵呵

我们可以通过让回调函数返回 false 在特定的迭代中打破 $.each() 循环。返回 non-false 与 for 循环中的 continue 语句相同;它将立即跳到下一次迭代。

例子:

遍历将每个数字显示为单词和数字的数组

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.each demo</title>
  <style>
  div {
    color: blue;
  }
  div#five {
    color: red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
<div id="four"></div>
<div id="five"></div>
 
<script>
var arr = [ "one", "two", "three", "four", "five" ];
var obj = { one: 1, two: 2, three: 3, four: 4, five: 5 };
 
jQuery.each( arr, function( i, val ) {
  $( "#" + val ).text( "Mine is " + val + "." );
 
  // Will stop running after "three"
  return ( val !== "three" );
});
 
jQuery.each( obj, function( i, val ) {
  $( "#" + i ).append( document.createTextNode( " - " + val ) );
});
</script>
 
</body>
</html>

演示:

遍历数组中的项目,访问当前项目及其索引。

$.each( [ "a", "b", "c" ], function( i, l ){
  alert( "Index #" + i + ": " + l );
});

遍历对象中的属性,访问当前项及其键。

$.each({ name: "John", lang: "JS" }, function( k, v ) {
  alert( "Key: " + k + ", Value: " + v );
});

相关用法


注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 jQuery.each()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。