當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。