Objek jQuery ialah objek yang dihasilkan dengan membalut objek DOM dengan jQuery. Objek jQuery adalah unik kepada jQuery Ia boleh menggunakan kaedah dalam jQuery, tetapi tidak boleh menggunakan kaedah DOM sebagai contoh: $("#img").attr("src","test.jpg"); img") ialah objek jQuery.
Objek DOM ialah beberapa operasi objek yang wujud dalam Javascript. Objek DOM boleh menggunakan kaedah yang wujud dalam Javascript, tetapi tidak boleh menggunakan kaedah dalam jQuery. Contohnya: document.getElementById("img").src = "test.jpg"; document.getElementById("img") di sini ialah objek DOM.
$("#img").attr("src","test.jpg"); dan document.getElementById("img").src = "test.jpg" adalah setara dan betul , tetapi $( "#img").src = "test.jpg"; atau document.getElementById("img").attr("src","test.jpg");
Contoh lain ialah ini Semasa menulis jQuery, saya sering menulis seperti ini: this.attr("src","test.jpg"); attr("src" ,"test.jpg") ialah kaedah jQuery, jadi ralat berlaku. Untuk menyelesaikan masalah ini, anda perlu menukar objek DOM kepada objek jQuery, seperti $(this).attr("src","test.jpg");
1. Tukar objek DOM kepada objek jQuery
Untuk objek DOM, anda hanya perlu membalut objek DOM dengan $() untuk mendapatkan objek jQuery, $(objek DOM) Nota: var ialah pembolehubah yang ditakrifkan
Contohnya:
var v = document.getElementById("v"); //DOM对象 var $v = $(v); //jQuery 对象
Selepas penukaran, anda boleh menggunakan mana-mana kaedah jQuery.
2. Tukar objek jQuery kepada objek DOM
Dua kaedah penukaran menukar objek jQuery kepada objek DOM: [index] dan .get(index
);(1) Objek jQuery ialah objek data, dan objek DOM yang sepadan boleh diperolehi melalui kaedah [indeks].
Contohnya:
var $v = $("#v"); //jQuery 对象 var v = $v[0]; //DOM 对象 alert(v.checked); //检测这个checkbox是否被选中
(2) jQuery sendiri menyediakan objek DOM yang sepadan melalui kaedah .get(index)
Contohnya:
var $v = $("#v"); //jQuery 对象 var v = $v.get(0); //DOM对象 ( $v.get()[0] 也可以 ) alert(v.checked); //检测这个 checkbox 是否被选中
Melalui kaedah di atas, objek jQuery dan objek DOM boleh ditukar kepada satu sama lain sesuka hati Ia perlu ditekankan sekali lagi: Objek DOM boleh menggunakan kaedah dalam DOM, dan objek jQuery tidak boleh menggunakan kaedah dalam DOM.