Rumah >hujung hadapan web >tutorial js >Tafsiran kod sumber pemilih jQuery (7): elementMatcher function_jquery

Tafsiran kod sumber pemilih jQuery (7): elementMatcher function_jquery

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBasal
2016-05-16 16:06:571146semak imbas

Untuk memahami proses pelaksanaan Compile Sizzle, anda perlu memahami fungsi dan pembolehubah utama dan fungsi setiap subrutin yang terlibat. Saya akan menerangkan kod Compile versi jQuery-1.10.2 satu persatu tolong awak.

elementMatcher(padan)

1. Kod sumber

Salin kod Kod adalah seperti berikut:

function elementMatcher(matchers) {
return matchers.length > fungsi(elem, konteks, xml) {
var i = matchers.length;
manakala (i--) {
if (!matchers[i](elem, context, xml)) {
Kembalikan palsu;
}
}
kembali benar;
} : penjodoh [0];
}

2. Fungsi

Fungsi ini mengembalikan fungsi untuk menentukan sama ada elem yang masuk sepadan dengan pemadanan tatasusunan fungsi pelaksanaan yang sepadan. Jika tidak, ia mengembalikan palsu, jika tidak ia mengembalikan benar.

Jika pemadan hanya mempunyai satu elemen, kembalikan elemen itu sendiri, jika tidak, kembalikan fungsi baharu - fungsi fungsi(elemen, konteks, xml) dalam kod.

Kesan fungsi pulangan agak serupa dengan context.filter(selectors) Sudah tentu, hasilnya hanya mengembalikan benar atau salah, bukan objek jQuery.

3. Parameter
penjodoh - tatasusunan, setiap elemen ialah fungsi pelaksanaan penjodoh kelas bukan pseudo. Contohnya: Semasa proses pelaksanaan sebenar, div.map span:lt(10), fungsi pelaksanaan padanan div dan map akan dihantar ke dalam fungsi elementMatcher sebagai dua elemen pemadan untuk menapis sama ada nod induk bagi nod span memenuhi keperluan.

4. Kembalikan fungsi

4.1 Jika pemadan mempunyai lebih daripada 1 elemen, fungsi berikut akan dikembalikan:

Salin kod Kod adalah seperti berikut:

fungsi(elemen, konteks, xml) {
var i = matchers.length;
manakala (i--) {
if (!matchers[i](elem, context, xml)) {
Kembalikan palsu;
}
}
kembali benar;
}

4.1.1 Fungsi
Padanan dipanggil secara berurutan dari elemen terakhir ke elemen pertama untuk memadankan sama ada nod elem masuk memenuhi keperluan Benar dikembalikan jika semua dipenuhi, jika tidak palsu dikembalikan.

4.1.2 Parameter

elemen - elemen nod tunggal untuk diperiksa.

konteks - nod konteks yang melaksanakan keseluruhan padanan rentetan pemilih, selalunya ia tidak berguna.

xml——Adakah objek carian semasa adalah dokumen HTML atau XML Jika ia HTML, parameter xml adalah palsu.

4.2 Jika pemadan hanya mempunyai 1 elemen, kembalikan elemen itu sendiri.
4.2.1 Fungsi
Menyemak sama ada elem masuk sepadan dengan pemilih, mengembalikan benar jika sepadan, jika tidak mengembalikan palsu.

4.2.2 Parameter
Sama seperti 4.1.2 perihalan parameter.

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