Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apa yang dikembalikan oleh jQuery jika ia tidak dapat mencari objek
Dalam pembangunan bahagian hadapan, kami sering menggunakan perpustakaan jQuery untuk mengendalikan elemen DOM, menghantar permintaan Ajax dan operasi lain. Tetapi apabila menggunakan jQuery, anda kadangkala menghadapi beberapa masalah, seperti tidak dapat mencari objek atau elemen. Apakah yang dikembalikan jQuery jika ia tidak dapat mencari objek?
Pertama sekali, anda perlu memahami jenis nilai pulangan pemilih jQuery. Pemilih jQuery mengembalikan objek jQuery, yang merupakan koleksi elemen DOM yang dipadankan. Jika pemilih sepadan dengan berbilang elemen, objek jQuery mengandungi berbilang elemen. Jika tiada unsur dipadankan, objek jQuery ialah koleksi kosong.
Apabila jQuery tidak dapat mencari objek atau elemen, ia mengembalikan objek jQuery kosong. Objek kosong ini dicipta oleh fungsi jQuery.fn.init() Ia tidak mempunyai sebarang sifat dan kaedah dan hanya boleh menyimpan beberapa objek jQuery.
Sebagai contoh, kod berikut akan cuba mencari elemen dengan id "tidak wujud":
var $elem = $('#not-exist'); console.log($elem);
Pemilih jQuery tidak dapat mencarinya kerana elemen "tidak wujud" tidak wujud Objek yang sepadan, jadi ia mengembalikan objek jQuery kosong, iaitu []. Kita boleh menentukan sama ada elemen yang sepadan telah ditemui dengan menilai panjang objek ini:
if ($elem.length === 0) { console.log('没有找到相应的元素!'); }
Sudah tentu, jika kita tidak perlu mengeluarkan maklumat pada konsol, kita juga boleh menggunakan kod berikut secara langsung :
if (!$('#not-exist').length) { // 代码不执行 }
Jika kita memanggil kaedah yang tidak wujud, jQuery akan membuang ralat "TypeError: $elem.fn is undefined". Oleh itu, apabila menggunakan jQuery untuk mengendalikan elemen DOM, kita mesti terlebih dahulu menentukan sama ada pemilih sepadan dengan elemen yang sepadan untuk mengelakkan ralat apabila elemen tidak ditemui.
Selain menggunakan pemilih untuk memadankan elemen, kami sering juga menggunakan beberapa kaedah jQuery yang mudah, seperti $.ajax(), $.get(), dsb. Kaedah ini akan mengembalikan objek Promise yang gagal apabila URL yang sepadan tidak dapat ditemui.
Sebagai contoh, kod berikut akan menggunakan kaedah $.ajax() untuk meminta URL yang tidak wujud:
$.ajax({ url: 'http://example.com/404', success: function () { console.log('请求成功'); }, error: function () { console.log('请求失败'); } });
Memandangkan URL yang diminta tidak wujud, $.ajax () akan mengembalikan a Untuk objek Promise yang gagal, fungsi panggil balik ralat dipanggil dan mesej "permintaan gagal" dikeluarkan.
Secara umum, jQuery akan mengembalikan objek jQuery kosong atau objek Promise yang gagal apabila ia tidak dapat mencari objek atau URL yang sepadan. Apabila kami menggunakan jQuery, kami mesti memberi perhatian untuk menentukan sama ada pemilih sepadan dengan elemen atau sama ada URL yang diminta wujud untuk mengelakkan ralat yang tidak perlu.
Atas ialah kandungan terperinci Apa yang dikembalikan oleh jQuery jika ia tidak dapat mencari objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!