استفاده از متد each در جی کوئری

Ratings
(0)

مسئله

ما می خواهیم بر روی تمام عناصر درون یک آرایه یا ویژگی های  یک آبجکت، تکرار یا حلقه ایجاد کنیم.


راه حل

(function($) {
  $(document).ready(function() {
    var months = [ 'January', 'February', 'March', 'April', 'May','June', 'July', 'August', 'September', 'October','November', 'December'];
    $.each(months, function(index, value) {
      $('#months').append('<li>' + value + '</li>');
    });
    var days = { Sunday: 0, Monday: 1, Tuesday: 2, Wednesday: 3,Thursday: 4, Friday: 5, Saturday: 6 };
    $.each(days, function(key, value) {
      $('#days').append('<li>' + key + ' (' + value + ')</li>');
    });
  });
})(jQuery);

 توضیحات

در این کدها، ما بر روی یک آرایه و بر روی یک آبجکت با استفاده از دستور $.each() حلقه ایجاد می کنیم. اولین آرگومان متد each() یک آرایه یا آبجکت است که تکرار بر روی آن انجام می شود و آرگومان دوم یک متد callback (پاسخ دهنده ) است که برای هر عنصر تکرار می شود. توجه کنید که این کار کمی با دستور $('div').each() که آرگومان اول آن یک تابع callback است، تفاوت دارد.

وقتی که تابع callback  که توسط برنامه نویس تعریف شده است، اجرا می شود، متغیر this برابر با مقدار عنصری می گردد که در حال حاضر تکرار بر روی آن انجام می شود. بنابراین کدهای بالا را می توانیم به صورت زیر بنویسیم:

(function($) {
   $(document).ready(function() {
     var months = [ 'January', 'February', 'March', 'April', 'May','June', 'July', 'August', 'September', 'October','November', 'December'];
     $.each(months, function() {
       $('#months').append('<li>' + this + '</li>');
     });
     var days = { Sunday: 0, Monday: 1, Tuesday: 2, Wednesday: 3,Thursday: 4, Friday: 5, Saturday: 6 };
     $.each(days, function(key) {
       $('#days').append('<li>' + key + ' (' + this + ')</li>');
     });
  });
})(jQuery);

  {module کمک نقدی به نویسنده}

  • بازدید: 915

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال