Rumah hujung hadapan web tutorial js Penjelasan terperinci tentang jQuery.each usage_jquery

Penjelasan terperinci tentang jQuery.each usage_jquery

May 16, 2016 pm 03:51 PM

Kaedah jQuery.each ialah salah satu kaedah alat teras jQuery Ia adalah kaedah lelaran umum yang boleh digunakan untuk mengulang objek dan tatasusunan. Berbeza dengan kaedah $().each(), yang melelaran ke atas objek jQuery, kaedah ini boleh digunakan untuk mengulangi sebarang objek. Biasanya memerlukan dua parameter

objek: Objek atau tatasusunan yang perlu dilalui.

panggilan balik: Fungsi panggil balik yang dilaksanakan oleh setiap ahli/elemen.

Fungsi panggil balik mempunyai dua parameter: yang pertama ialah ahli objek atau indeks tatasusunan, dan yang kedua ialah pembolehubah atau kandungan yang sepadan. Jika anda perlu keluar dari setiap gelung, anda boleh menjadikan fungsi panggil balik kembali palsu, dan nilai pulangan lain akan diabaikan.

Gelung melalui tatasusunan, menggunakan kedua-dua indeks elemen dan kandungan. Contohnya adalah seperti berikut:

//例遍对象,同时使用成员名称和变量内容。

$.each( [0,1,2], function(i, n){
 alert( "Item #" + i + ": " + n );
});
//例遍对象,同时使用成员名称和变量内容。

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

Salin selepas log masuk

Sudah tentu, anda juga boleh menggunakan panggilan contoh secara terus

  $( 'div' ).each( function(i,n){
    return i+n.text;
  } )
Salin selepas log masuk

Malah, kaedah contoh (prototaip) dalam kod sumber juga merupakan kaedah statik yang dipanggil, jadi untuk menganalisis setiap kaedah, anda hanya perlu menganalisis kaedah statiknya adalah hanya kes khas menggunakan kaedah statik.

// Execute a callback for every element in the matched set.
  // (You can seed the arguments with an array of args, but this is
  // only used internally.)
  each: function( callback, args ) {
    return jQuery.each( this, callback, args );
  },
Salin selepas log masuk

Dalam kaedah prototaip, hantar objek ini secara langsung sebagai objek yang akan dilalui Berikut ialah kod sumber kaedah statik

// args is for internal usage only
  each: function( object, callback, args ) {
    var name, i = 0,
      length = object.length,
      isObj = length === undefined || jQuery.isFunction( object );
    if ( args ) {
      if ( isObj ) {
        for ( name in object ) {
          if ( callback.apply( object[ name ], args ) === false ) {
            break;
          }
        }
      } else {
        for ( ; i < length; ) {
          if ( callback.apply( object[ i++ ], args ) === false ) {
            break;
          }
        }
      }

    // A special, fast, case for the most common use of each
    } else {
      if ( isObj ) {
        for ( name in object ) {
          if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
            break;
          }
        }
      } else {
        for ( ; i < length; ) {
          if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
            break;
          }
        }
      }
    }

    return object;
  },

Salin selepas log masuk

Tidak banyak perkara Pertama sekali, ia menerima 3 parameter Pada masa ini, kita harus memberi perhatian kepada fakta bahawa manual yang sering kita gunakan biasanya menulis dua parameter, tetapi sebenarnya, dalam kod sumber, Terdapat 3 parameter yang boleh diterima, parameter ketiga ialah tatasusunan, yang akan dihantar sebagai parameter fungsi panggil balik.

Mula-mula mengisytiharkan beberapa pembolehubah i, nama dan panjang adalah untuk menyediakan gelung isObj adalah untuk membezakan sama ada parameter yang sesuai ialah tatasusunan atau objek parameter ialah fungsi atau atribut panjang tidak wujud , selebihnya dikendalikan sebagai tatasusunan atau seperti tatasusunan.

isObj = panjang === tidak ditentukan ||. jQuery.isFunction( objek );
Ayat ini ditulis dengan sangat ringkas dan menggunakan susunan keutamaan pengendali untuk melaksanakan dahulu ===

Malah, penghakiman jenis ini tidak begitu tepat, ia hanyalah satu perbezaan yang kasar, seperti:

 var obj={length:'a'};
 var isObj= obj.length=== undefined || jQuery.isFunction( obj );
 alert(isObj); //false
Salin selepas log masuk

Kemudian perbezaan adalah berdasarkan sama ada parameter ketiga ditambah Mari kita lihat situasi tanpa menambahnya, iaitu

} else {
      if ( isObj ) {
        for ( name in object ) {
          if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
            break;
          }
        }
      } else {
        for ( ; i < length; ) {
          if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
            break;
          }
        }
      }
    }

Salin selepas log masuk

"Bezakan" tatasusunan dan objek berdasarkan pembolehubah isObj Gunakan gelung for untuk tatasusunan dan gelung untuk...dalam untuk objek Setiap kali gelung dilaksanakan, fungsi panggil balik akan dilaksanakan dan tatasusunan gelung semasa atau kunci objek dan nilai akan dilaksanakan, kaedah panggilan yang digunakan di sini, parameter pertama ialah "ini" fungsi, iaitu, nilai gelung semasa digunakan sebagai ini, dua seterusnya adalah kunci dan nilai atau penunjuk dan nilai, jadi kami menggunakan fungsi panggil balik dalam gelung Parameter kedua adalah sama seperti menggunakan ini. Contohnya:

//刚才的例子
 $( 'div' ).each( function(i,n){
    return i+n.text;
  } )
//等价于
 $( 'div' ).each( function(i,n){
    return i+this.text;
  } )

Salin selepas log masuk

Untuk kes di mana parameter ketiga ditambahkan, kaedah pemindahan nilai fungsi panggil balik digunakan untuk memindahkan parameter Ini masih menunjuk kepada nilai semasa, tetapi args ialah parameter ketiga diluluskan, dan fungsi panggil balik boleh menggunakan seberapa banyak parameter yang terdapat pada tatasusunan Apa yang perlu diperhatikan di sini ialah yang ketiga mestilah format tatasusunan asal js dan tidak boleh menjadi tatasusunan kelas atau objek jQuery, jika tidak ralat akan berlaku. dilaporkan kerana kaedah memohon tidak disokong. Jika fungsi panggil balik mengembalikan palsu, gelung akan dilangkau Contohnya, kita hanya boleh memproses tatasusunan subskrip bernombor ganjil dan apabila ia dinilai sebagai item bernombor genap, hanya laksanakan pulangan palsu dalam fungsi panggil balik

return object;
Salin selepas log masuk

Akhirnya kembalikan objek atau tatasusunan asal, dsb.

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

8 plugin susun atur halaman jquery yang menakjubkan 8 plugin susun atur halaman jquery yang menakjubkan Mar 06, 2025 am 12:48 AM

Leverage JQuery untuk Layouts Laman Web yang mudah: 8 Plugin Essential JQuery memudahkan susun atur laman web dengan ketara. Artikel ini menyoroti lapan plugin jQuery yang kuat yang menyelaraskan proses, terutamanya berguna untuk penciptaan laman web manual

Bina Aplikasi Web Ajax anda sendiri Bina Aplikasi Web Ajax anda sendiri Mar 09, 2025 am 12:11 AM

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

10 JQuery Fun and Games Plugin 10 JQuery Fun and Games Plugin Mar 08, 2025 am 12:42 AM

10 Plugin Permainan JQuery yang menyeronokkan untuk menjadikan laman web anda lebih menarik dan meningkatkan keletihan pengguna! Walaupun Flash masih merupakan perisian terbaik untuk membangunkan permainan web kasual, jQuery juga boleh menghasilkan kesan yang mengejutkan, dan walaupun tidak setanding dengan permainan flash aksi tulen, dalam beberapa kes, anda juga boleh bersenang -senang di penyemak imbas anda. permainan jquery tic toe "Hello World" pengaturcaraan permainan kini mempunyai versi jQuery. Kod sumber JQuery Game Composition Crazy Word Ini adalah permainan mengisi kosong, dan ia dapat menghasilkan beberapa hasil yang pelik kerana tidak mengetahui konteks perkataan. Kod sumber JQuery Mine Sweeping Game

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

JQuery Parallax Tutorial - Latar Belakang Header Animasi JQuery Parallax Tutorial - Latar Belakang Header Animasi Mar 08, 2025 am 12:39 AM

Tutorial ini menunjukkan cara membuat kesan latar belakang paralaks yang menawan menggunakan jQuery. Kami akan membina sepanduk header dengan imej berlapis yang mewujudkan kedalaman visual yang menakjubkan. Plugin yang dikemas kini berfungsi dengan JQuery 1.6.4 dan kemudian. Muat turun

Kandungan kotak beban secara dinamik menggunakan ajax Kandungan kotak beban secara dinamik menggunakan ajax Mar 06, 2025 am 01:07 AM

Tutorial ini menunjukkan membuat kotak halaman dinamik yang dimuatkan melalui AJAX, membolehkan Refresh Instant tanpa tambah nilai halaman penuh. Ia memanfaatkan JQuery dan JavaScript. Fikirkannya sebagai loader kotak kandungan gaya Facebook tersuai. Konsep Utama: Ajax dan JQuery

Cara Menulis Perpustakaan Sesi Kurang Kuki Untuk JavaScript Cara Menulis Perpustakaan Sesi Kurang Kuki Untuk JavaScript Mar 06, 2025 am 01:18 AM

Perpustakaan JavaScript ini memanfaatkan Window.Name Property untuk menguruskan data sesi tanpa bergantung pada kuki. Ia menawarkan penyelesaian yang mantap untuk menyimpan dan mengambil pembolehubah sesi di seluruh pelayar. Perpustakaan menyediakan tiga kaedah teras: sesi

See all articles