Rumah  >  Artikel  >  hujung hadapan web  >  Analisis penggunaan operasi rantaian objek jQuery

Analisis penggunaan operasi rantaian objek jQuery

PHPz
PHPzasal
2016-05-16 15:01:192050semak imbas

Contoh dalam artikel ini menerangkan penggunaan operasi rantaian pada objek jQuery. Kongsi dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Kendalian rantai objek jQuery

Mula-mula mari kita lihat contoh:

Kodnya adalah seperti berikut:
$("#myphoto").css("border","solid 2px#FF0000").attr("alt"," good")

Mula-mula memanggil fungsi css() untuk mengubah suai gaya objek jQuery, dan kemudian menggunakan fungsi attr() untuk mengubah suai atribut. Kaedah panggilan ini adalah seperti rantai, jadi ia dipanggil Ia adalah "operasi rantai".

Operasi rantaian boleh menjadikan kod lebih ringkas, kerana selalunya mungkin untuk mencapai tugasan dalam satu pernyataan yang hanya boleh diselesaikan dalam berbilang kenyataan pada masa lalu. Contohnya, jika operasi rantaian tidak digunakan, dua pernyataan diperlukan untuk menyelesaikan tugasan di atas:

$("#myphoto").css("border","solid 2px#FF0000");
$("#myphoto").arrt("alt","good");

Selain meningkatkan jumlah kod, pemilih juga dipanggil dua kali, yang mengurangkan kelajuan.

Dalam operasi rantaian yang lebih pendek, pernyataan selalunya lebih jelas, dan pelbagai operasi pada objek jQuery boleh dilaksanakan langkah demi langkah. Walau bagaimanapun, operasi rantaian tidak boleh terlalu lama, jika tidak, pernyataan itu akan sukar difahami, kerana tidak mudah untuk menyemak status semasa objek jQuery, terutamanya jika ia melibatkan penambahan dan pemadaman elemen dalam objek jQuery, ia lebih sukar untuk menilai.

Bukan semua fungsi jQuery boleh menggunakan operasi berantai. Ini berkaitan dengan prinsip operasi berantai Sebab mengapa operasi berantai boleh dicapai ialah setiap fungsi mengembalikan objek jQuery itu sendiri. Dalam pelaksanaan dalaman perpustakaan kelas jQuery, walaupun banyak fungsi mengembalikan objek jQuery itu sendiri, semuanya dilaksanakan dengan memanggil bilangan fungsi dalaman yang terhad Sebagai contoh, fungsi attr() menetapkan batu atribut, "jQuery . setiap kaedah (objek, panggil balik, args). Ambil perhatian bahawa kaedah ini bukan kaedah objek jQuery Kaedah objek jQuery juga mempunyai fungsi each(), iaitu "jQuery.fn.each(callback,args)". :

Each:function(callback,args){
  ReturnjQuery.each(this,callback,args);
}

Mari kita lihat hasil pulangan fungsi jQuery.each:

Each.function(object,callback,args){
  Retumobject;
}

Objek ialah objek jQuery.fn, iaitu objek jQuery. Objek akhir yang dikembalikan masih merupakan objek jQuery.

Anda boleh menggunakan prinsip berikut untuk menentukan sama ada fungsi mengembalikan objek jQuery, iaitu, sama ada ia boleh digunakan untuk operasi rantaian.

Selain fungsi untuk mendapatkan data tertentu, seperti mendapatkan nilai atribut "attr(name)" dan mendapatkan saiz koleksi "size()", fungsi ini jelas mengembalikan data. Selain fungsi ini, fungsi jQuery boleh digunakan untuk operasi rantaian, seperti menetapkan atribut "attr(name.value)".

Penggunaan pembolehubah "$"

Pembolehubah "$" ialah rujukan kepada pembolehubah "jQuery". Pembolehubah "jQuery" ialah pembolehubah global dan objek jQuery merujuk kepada "jQuery.fn", jangan keliru. Pembolehubah "jQuery" adalah serupa dengan kelas statik Kaedah di atas adalah kaedah statik dan boleh dipanggil pada bila-bila masa. Contohnya "jQuery.each". "jQuery.fn" ialah kaedah contoh dan hanya boleh dipanggil pada objek jQuery. Sebagai contoh, kaedah "jQuery.fn.each()" hanya boleh dipanggil dalam bentuk "$('#id').each".

Seperti yang dinyatakan sebelum ini, anda boleh menggunakan "$" dan bukannya "jQuery", kerana terdapat pelaksanaan berikut di dalam jQuery:

jQuery=window.jQuery=window.$

Jadi pembolehubah "$" dan "jQuery " pembolehubah sebenarnya Ia adalah harta objek Tetingkap, yang merupakan pembolehubah global. Boleh dipanggil di mana-mana di halaman.

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan jquery.

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