Rumah >hujung hadapan web >tutorial js >tafsiran kod sumber jQuery hasClass() kaedah analysis_jquery

tafsiran kod sumber jQuery hasClass() kaedah analysis_jquery

WBOY
WBOYasal
2016-05-16 16:13:301572semak imbas

Artikel ini menganalisis kaedah hasClass() tafsiran kod sumber jQuery dengan lebih terperinci. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

Salin kod Kod adalah seperti berikut:
jQuery.fn.extend({
HasClass: fungsi( pemilih ) {
//Tetapkan pemilih nama kelas untuk disemak kepada className, dan l ialah panjang tatasusunan objek jQuery yang sedang disemak dipilih oleh pemilih.
          var className = " " pemilih " ",
             i = 0,
              l = ini.panjang;
//Gelung untuk menyemak nama kelas setiap elemen DOM
untuk ( ; i < l; i ) {
//this[i].nodeType === 1, tentukan jenis nod nod DOM semasa, 1 mewakili nod elemen.
//this[i].className, memperoleh nama kelas sedia ada bagi nod DOM semasa.
//rclass = /[trnf]/g, replace(rclass, " ") bermaksud mengalih keluar aksara tab, aksara suapan baris, aksara pemulangan pengangkutan, dsb. dalam nama kelas nod DOM semasa.
//indexOf(className), mula mencari nama kelas nod DOM semasa untuk melihat sama ada nama kelas yang anda ingin semak ialah className Jika >=0, ia bermakna ia wujud, kembalikan benar dan lompat keluar daripada fungsi .
Jika ( this[i].nodeType === 1 && (" " this[i].className " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
                    kembali benar;
            }
}
//Selepas semakan gelung selesai, didapati bahawa nama kelas yang anda ingin semak tidak ditemui dalam setiap elemen DOM, kemudian kembalikan palsu dan lompat keluar daripada fungsi.
//Ia boleh dilihat bahawa selagi nama kelas elemen DOM dalam tatasusunan objek jQuery anda mengandungi nama kelas yang anda cari, ia akan kembali benar dan melompat keluar daripada fungsi.
         kembali palsu;
}
});

Saya harap artikel ini akan membantu pengaturcaraan jQuery semua orang.

Kenyataan:
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