objek jQuery dan objek DOM

Preface

Untuk menulis sebarang program JavaScript, kita mesti mendapatkan objek terlebih dahulu Pemilih jQuery boleh mengubah sepenuhnya cara kita biasanya mendapatkan objek dengan hampir semua semantik , seperti "atribut tajuk sendiri dan nilai mengandungi elemen <a> ujian".

Objek dom dan set pembungkus jQuery

Sama ada kita menulis program atau membaca dokumentasi API, kita mesti sentiasa memberi perhatian untuk membezakan antara objek Dom dan set pembungkus jQuery.

1. Objek Dom

Dalam pembangunan JavaScript tradisional, kami mula-mula memperoleh objek Dom, seperti:

var div = document.getElementById("testDiv");
var divs = document.getElementsByTagName("div");

Kami sering menggunakan dokumen The . kaedah getElementById mendapat satu objek Dom berdasarkan id, atau kaedah document.getElementsByTagName mendapat koleksi objek Dom berdasarkan nama teg HTML.

Selain itu, dalam fungsi acara, anda boleh menggunakan ini dalam fungsi kaedah untuk merujuk objek pencetus peristiwa (tetapi terdapat masalah dengan IE6 dalam fungsi acara multicast), atau gunakan sasaran acara objek (Firefox) atau srcElement (IE6 ) untuk mendapatkan objek Dom yang mencetuskan peristiwa.

Perhatikan bahawa apa yang kami dapat di sini ialah semua objek Dom juga mempunyai jenis yang berbeza seperti input, div, span, dsb. Objek Dom mempunyai sifat dan kaedah yang terhad.

2. Set pembungkusan jQuery

Set pembungkusan jQuery boleh dikatakan sebagai pengembangan objek Dom. Dalam dunia jQuery, semua objek, sama ada satu atau kumpulan, dirangkumkan ke dalam set pembungkus jQuery Contohnya, mendapatkan set pembungkus jQuery yang mengandungi elemen:

var jQueryObject = $("#testDiv");

set pembungkus jQuery dianggap sebagai objek. dipanggil bersama. Set pembalut jQuery mempunyai set sifat dan kaedah yang kaya.

3. Penukaran objek Dom dan objek jQuery

(1) Set pembungkusan Dom ke jQuery

Jika anda ingin menggunakan fungsi yang disediakan oleh jQuery, anda mesti membina set pembalut jQuery dahulu. Kita boleh menggunakan pemilih jQuery yang akan diperkenalkan dalam artikel ini untuk membina set pembalut jQuery secara langsung, seperti:

$("#testDiv");

Set pembalut yang dibina oleh pernyataan di atas hanya mengandungi satu elemen yang idnya ialah testDiv.

Atau kami telah memperoleh elemen Dom, seperti:

var div = document.getElementById("testDiv");

Dalam kod di atas, div ialah elemen Dom Kita boleh menukar elemen Dom kepada set pembungkus jQuery:

var domToJQueryObject = $(div);

(2) set pembalut jQuery kepada objek DOM

Set pembalut jQuery ialah koleksi, jadi kita boleh mengakses salah satu elemennya melalui pengindeks:

var domObject = $("#testDiv")[0];

Ambil perhatian bahawa apa yang dikembalikan melalui pengindeks bukan lagi set berpakej jQuery, tetapi objek Dom!

Sesetengah kaedah traversal set berpakej jQuery, seperti setiap(), boleh melepasi fungsi traversal fungsi traversal Ini juga merupakan elemen Dom, contohnya:

$("#testDiv").each(function() {
  alert(this)
});

Bagaimana jika kita mahu menggunakan kaedah jQuery untuk mengendalikan objek Dom Hanya gunakan kaedah penukaran yang diperkenalkan di atas:

$("#testDiv").each(function() {
  $(this).html("修改内容")
});

Ringkasan : Mula-mula biarkan Semua orang jelas tentang konsep objek Dom dan set pembungkusan jQuery, yang akan mempercepatkan pembelajaran kita. Selagi anda boleh membezakan antara keduanya, anda boleh menjadi jelas apabila menulis program.

Meneruskan pembelajaran
||
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <script src="http://code.jquery.com/jquery-3.1.1.min.js"></script> <!-- 使用JS原生语法 --> <script type="text/javascript"> window.onload = function(){ // 通过原生JS语法获取id为php1的元素p var p = document.getElementById('php1'); // 将元素p在html中内容改变 p.innerHTML = 'P1:php中文网是您自学php的正确途径'; // 将元素p的内容颜色改为红色 p.style.color = 'red'; } </script> <!-- 使用jQuery语法 --> <script type="text/javascript"> $(document).ready(function() { /** * 通过jQuery语法获取id为php2的元素获得一个jQuery对象 * 调用该对象的html()方法进行更改内容 * 调用该对象的css()方法进行更改颜色样式 */ var $p = $('#php2'); $p.html('P2:php中文网是您自学php的正确途径').css('color','red'); }); </script> </head> <body> <p id="php1"></p> <p id="php2"></p> </body> </html>
  • Cadangan kursus
  • Muat turun perisian kursus