jQuery 3.3

jQuery.each()




jquery

jQuery.each (صفيف ، رد اتصال) إرجاع: Object

الوصف: وظيفة مكرر عام ، والتي يمكن استخدامها للتكرار بسلاسة عبر الكائنات والمصفوفات. يتم تكرار صفائف و كائنات شبيهة بخاصية الطول (مثل كائن وسائط الدالة) بواسطة فهرس رقمي ، من 0 إلى الطول -1. يتم تكرار الكائنات الأخرى عبر خصائصها المسماة.

إن الدالة $.each() ليست هي نفس $(selector).each() ، الذي يتم استخدامه للتكرار ، بشكل حصري ، على كائن jQuery. يمكن استخدام الدالة $.each() للتكرار عبر أي مجموعة ، سواء كان كائنًا أو مصفوفة. في حالة صفيف ، يتم تمرير رد الاتصال بفهرس صفيف وقيمة صفيف مناظر في كل مرة. (يمكن أيضًا الوصول إلى this القيمة من خلال this الكلمة الرئيسية ، ولكن سيتم دائمًا التفاف جافا سكريبت this القيمة ككائن حتى إذا كانت قيمة سلسلة أو رقم بسيطة.) تقوم الطريقة بإرجاع الوسيطة الأولى ، الكائن الذي تم تشغيله.

$.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 );
});

مرة أخرى ، ينتج عن ذلك رسالتين:

قابل للاشتعال: قابل للاشتعال
دوه: لا دوه

يمكننا كسر حلقة $.each() في عملية تكرار معينة عن طريق جعل وظيفة رد الاتصال بإرجاع false . إرجاع non-false هو نفس عبارة continue في حلقة for؛ فإنه سيتم تخطي فورا إلى التكرار التالي.

أمثلة:

يتكرر من خلال الصفيف الذي يعرض كل رقم على شكل كلمة وأرقام

<!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-1.10.2.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 );
});