Rumah hujung hadapan web tutorial js Panduan Pembelajaran Asas jQuery_jquery

Panduan Pembelajaran Asas jQuery_jquery

May 16, 2016 pm 03:45 PM
jquery bermula

Buka halaman web Jika HTML belum dimuatkan sepenuhnya, adalah tidak selamat untuk mengendalikan elemen pada halaman Tetapi bagaimana dengan memantau sama ada HTML telah dimuatkan? jQuery menyediakan kaedah $(document).ready() Sebarang kod dalam ready tidak akan dilaksanakan sehingga HTML dimuatkan sepenuhnya.

$(document).ready(function() {
  console.log('ready!');
});

Salin selepas log masuk

Selain itu, ia mempunyai singkatan

$(function() {
  console.log('ready!');
});

Salin selepas log masuk

$(document).ready() bukan sahaja melaksanakan kaedah tanpa nama, tetapi juga melaksanakan kaedah bernama:

function readyFn() {
  // code to run when the document is ready
}


$(document).ready(readyFn);

Salin selepas log masuk

Pilih elemen

Konsep jQuery yang paling asas ialah "pilih beberapa elemen dan kemudian lakukan sesuatu dengannya". jQuery menyokong kebanyakan pemilih CSS3, serta beberapa pemilih bukan standard Untuk butiran, lihat http://api.jquery.com/category/selectors/ Berikut ialah penggunaan beberapa pemilih biasa:

$('#myId');         // 此 ID 在页面中必须唯一
$('div.myClass');      // 如果指定了元素类型,那么性能会有所提升
$('input[name=first_name]'); // 速度有点慢,尽量避免这种用法
$('#contents ul.people li');

$('a.external:first');
$('tr:odd');
$('#myForm :input');     // 选择表单中的所有 input 类元素
$('div:visible');
$('div:gt(2)');       // 页面中除了前 3 个 DIV 之外的所有 DIV
$('div:animated');      // 所有正在执行动画的 DIV

Salin selepas log masuk

Perkara yang perlu diperhatikan

Apabila menggunakan pseudo-selectors seperti :visible dan :hidden, jQuery sebenarnya mengesan sama ada ia kelihatan pada halaman, bukan nilai paparan dalam css mereka. Maksudnya, apabila lebar dan ketinggian fizikal elemen pada halaman kedua-duanya lebih besar daripada 0, maka ia boleh dilihat. Walau bagaimanapun, adalah satu pengecualian.

Untuk pelaksanaan khusus jQuery, sila rujuk kod:

jQuery.expr.filters.hidden = function( elem ) {
  var width = elem.offsetWidth, height = elem.offsetHeight,
    skip = elem.nodeName.toLowerCase() === "tr";

  // does the element have 0 height, 0 width,
  // and it's not a <tr>&#63;
  return width === 0 && height === 0 && !skip &#63;

    // then it must be hidden
    true :

    // but if it has width and height
    // and it's not a <tr>
    width > 0 && height > 0 && !skip &#63;

      // then it must be visible
      false :

      // if we get here, the element has width
      // and height, but it's also a <tr>,
      // so check its display property to
      // decide whether it's hidden
      jQuery.curCSS(elem, "display") === "none";
};

jQuery.expr.filters.visible = function( elem ) {
  return !jQuery.expr.filters.hidden( elem );
};

Salin selepas log masuk

Sama ada set hasil pemilih mengandungi elemen

Selepas melaksanakan pemilih, bagaimana untuk menentukan sama ada pemilih telah memilih elemen Anda boleh mengambil mudah dan menulis:

if ($('div.foo')) { ... }

Salin selepas log masuk

Sebenarnya, ini adalah salah untuk menulis, kerana tidak kira sama ada pemilih memilih elemen atau tidak, ia akan mengembalikan objek, dan nilai Boolean objek mestilah benar, jadi kaedah ini tidak akan berfungsi. Sebenarnya, terdapat atribut panjang dalam objek yang dikembalikan oleh pemilih Melalui atribut ini, anda boleh menentukan berapa banyak elemen yang terdapat dalam pemilih Jika tiada elemen dipilih, 0-false akan dikembalikan. bilangan elemen sebenar dikembalikan.

if ($('div.foo').length) { ... }

Salin selepas log masuk

Cache pemilih

Setiap kali anda membuat pemilih, jQuery perlu melaksanakan banyak kod Jika anda perlu menggunakan pemilih yang sama beberapa kali, sebaiknya cache pemilih untuk mengelak daripada melaksanakan pemilih berulang kali.

var $divs = $('div');

Salin selepas log masuk

Ambil perhatian bahawa nama pembolehubah yang digunakan sebagai pembolehubah cache dalam kod ini bermula dengan $ Tanda dolar ini hanyalah aksara biasa dalam JavaScript dan tidak mempunyai makna istimewa lain wajib.

Sebaik sahaja pemilih dicache dalam pembolehubah, anda boleh memanggil kaedah jQuery pada pembolehubah, sama seperti memanggil pemilih.

Perlu diingatkan bahawa pemilih hanya boleh memilih elemen yang ada pada halaman tersebut Jika elemen ditambahkan pada halaman selepas pemilih dilaksanakan, elemen yang ditambahkan lusa tidak disertakan dalam pemilih sebelumnya pemilih dilaksanakan semula selepas menambah elemen pada halaman.
Pemilih dengan fungsi penapis

Kadang-kadang selepas melaksanakan pemilih, tidak semua elemen dalam set hasil adalah apa yang kita mahu, jadi kita perlu menapis set hasil sekali lagi:

$('div.foo').has('p');     // 所有包含有 <p> 的 div.foo
$('h1').not('.bar');      // 没有被标记 bar 这个类的 h1 元素
$('ul li').filter('.current'); // 带有类 current 的无序列表
$('ul li').first();       // 无序列表中的第一个元素
$('ul li').eq(5);        // 第六个

Salin selepas log masuk

Pilih elemen borang

jQuery menyediakan beberapa pemilih pseudo untuk memilih elemen bentuk, yang sangat berguna.

  • :butang pilih butang
  • :kotak semak pilih berbilang kotak pilihan
  • :ditanda memilih elemen borang yang dipilih
  • :dilumpuhkan memilih elemen borang yang dilumpuhkan
  • :enabled memilih elemen borang yang didayakan
  • :fail memilih elemen borang dengan type="file"
  • :imej memilih elemen bentuk dengan type="imej"
  • … …
$('#myForm :input'); // 选择所有可输入的表单元素

Salin selepas log masuk

Cara menggunakan pemilih

Selepas melaksanakan pemilih, anda boleh memanggil kaedah dalam pemilih. Kaedah ini dibahagikan kepada dua kategori: getter dan setter Getter mengembalikan sifat elemen pertama dalam set hasil, dan setter boleh menetapkan sifat semua elemen dalam set hasil.
Operasi rantai

Kebanyakan kaedah dalam pemilih jQuery akan mengembalikan objek jQuery itu sendiri, jadi selepas memanggil kaedah, anda boleh terus memanggil kaedah lain pada kaedah ini, sama seperti kombo:

$('#content').find('h3').eq(2).html('new text for the third h3!');

Salin selepas log masuk

Untuk operasi berantai, adalah penting untuk memastikan kod boleh dibaca:

$('#content')
  .find('h3')
  .eq(2)
  .html('new text for the third h3!');

Salin selepas log masuk

Jika elemen dalam pemilih berubah semasa operasi rantaian, anda boleh menggunakan kaedah $.fn.end untuk kembali ke set hasil asal:

$('#content')
  .find('h3')
  .eq(2)
    .html('new text for the third h3!')
  .end() // 返回最初的结果集
  .eq(0)
    .html('new text for the first h3!');

Salin selepas log masuk

链式操作非常好用,以至于现在很多其它 JavaScript 库都加入了类似特性。但是对于链式操作也要小心使用,过长的链式操作会给代码的修改和调试带来困难。对于链式操作的长度没有硬性规定 — 只要你觉得能 Hold 住。

jQuery 对有些方法进行了“重载”,所有对某元素赋值或取值的时候所用的方法名是一样的,只是参数列表不同。当用 jQuery 方法对元素赋值的时候,它称为 setter,取值的时候称为 getter。setter 会对选择器中的所有所有元素赋值,getter 只取得选择器中第一个元素的值。

$('h1').html('hello world'); // setter
var str = $('h1').html();  // getter

Salin selepas log masuk

setter 返回的是 jQuery 对象,可以继续在这个对象上调用 jQuery 方法(链式操作),getter 仅放回我们想要的值,返回值不是 jQuery 对象,所以不能继续链式操作了。
jQuery 操作 CSS

jQuery 可以很方便的设置或取得元素的 CSS 属性。

CSS 属性如果要想在 JavaScript 中使用,多要转换成骆驼命名法(camel cased),例如 CSS 中的 font-size 属性,在 JavaScript 中对应的是 fontSize,但是 jQuery 的 $.fn.css 方法对此做了特殊处理,无论使用哪种写法都可以。

例如:

var strsize1 = $('h1').css('fontSize'); // 返回 "19px"
var strsize2 = $('h1').css('font-size'); // 同上

$('h1').css('fontSize', '100px');   // 给单个属性赋值
$('h1').css({ 'fontSize' : '100px', 'color' : 'red' }); // 给多个属性赋值

Salin selepas log masuk

上面可以看到,一次性给多个属性赋值的时候,实际上传入的是一个对象,这个对象中包含了一些可以表示 CSS 属性的键-值对,在 jQuery 的很多 setter 方法中都有类似用法。
jQuery 操作元素的 class 属性

作为一个 getter,$.fn.css 确实很好用,但是应该尽量避免将其作为 setter 使用,因为一般不建议在 JavaScript 代码中包含太多的样式代码。比较靠谱的方法是把样式规则单独分开写成类(class),然后用 JavaScript 将类应用到元素上即可:

var $h1 = $('h1');

$h1.addClass('big');
$h1.removeClass('big');
$h1.toggleClass('big');

if ($h1.hasClass('big')) { ... }

Salin selepas log masuk

尺寸

jQuery 中有很多方法可以用来获取或者修改元素的尺寸或者位置信息。

$('h1').width('50px');  // 设置所有 h1 元素的宽度
$('h1').width();     // 得到第一个 h1 元素的宽度

$('h1').height('50px'); // 设置所有 h1 元素的高度
$('h1').height();    // 得到第一个 h1 元素的高度

$('h1').position();   // 返回第一个 h1 元素
             // 的位置信息,此返回值是一个对象
             // 此位置是相对其父元素的位置的偏移量

Salin selepas log masuk

这里只是对 jQuery 操纵元素大小及位置信息的简单举例。


Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tutorial Model Penyebaran Bernilai Masa Anda, dari Universiti Purdue Tutorial Model Penyebaran Bernilai Masa Anda, dari Universiti Purdue Apr 07, 2024 am 09:01 AM

Penyebaran bukan sahaja boleh meniru lebih baik, tetapi juga "mencipta". Model resapan (DiffusionModel) ialah model penjanaan imej. Berbanding dengan algoritma yang terkenal seperti GAN dan VAE dalam bidang AI, model resapan mengambil pendekatan yang berbeza. Idea utamanya ialah proses menambah hingar pada imej dan kemudian secara beransur-ansur menolaknya. Cara mengecilkan dan memulihkan imej asal adalah bahagian teras algoritma. Algoritma akhir mampu menghasilkan imej daripada imej bising rawak. Dalam beberapa tahun kebelakangan ini, pertumbuhan luar biasa AI generatif telah membolehkan banyak aplikasi menarik dalam penjanaan teks ke imej, penjanaan video dan banyak lagi. Prinsip asas di sebalik alat generatif ini ialah konsep resapan, mekanisme pensampelan khas yang mengatasi batasan kaedah sebelumnya.

Hasilkan PPT dengan satu klik! Kimi: Biarlah 'pekerja migran PPT' menjadi popular dahulu Hasilkan PPT dengan satu klik! Kimi: Biarlah 'pekerja migran PPT' menjadi popular dahulu Aug 01, 2024 pm 03:28 PM

Kimi: Hanya dalam satu ayat, dalam sepuluh saat sahaja, PPT akan siap. PPT sangat menjengkelkan! Untuk mengadakan mesyuarat, anda perlu mempunyai PPT; untuk menulis laporan mingguan, anda perlu mempunyai PPT untuk membuat pelaburan, anda perlu menunjukkan PPT walaupun anda menuduh seseorang menipu, anda perlu menghantar PPT. Kolej lebih seperti belajar jurusan PPT Anda menonton PPT di dalam kelas dan melakukan PPT selepas kelas. Mungkin, apabila Dennis Austin mencipta PPT 37 tahun lalu, dia tidak menyangka satu hari nanti PPT akan berleluasa. Bercakap tentang pengalaman sukar kami membuat PPT membuatkan kami menitiskan air mata. "Ia mengambil masa tiga bulan untuk membuat PPT lebih daripada 20 muka surat, dan saya menyemaknya berpuluh-puluh kali. Saya rasa ingin muntah apabila saya melihat PPT itu." ialah PPT." Jika anda mengadakan mesyuarat dadakan, anda harus melakukannya

Semua anugerah CVPR 2024 diumumkan! Hampir 10,000 orang menghadiri persidangan itu di luar talian dan seorang penyelidik Cina dari Google memenangi anugerah kertas terbaik Semua anugerah CVPR 2024 diumumkan! Hampir 10,000 orang menghadiri persidangan itu di luar talian dan seorang penyelidik Cina dari Google memenangi anugerah kertas terbaik Jun 20, 2024 pm 05:43 PM

Pada awal pagi 20 Jun, waktu Beijing, CVPR2024, persidangan penglihatan komputer antarabangsa teratas yang diadakan di Seattle, secara rasmi mengumumkan kertas kerja terbaik dan anugerah lain. Pada tahun ini, sebanyak 10 kertas memenangi anugerah, termasuk 2 kertas terbaik dan 2 kertas pelajar terbaik Selain itu, terdapat 2 pencalonan kertas terbaik dan 4 pencalonan kertas pelajar terbaik. Persidangan teratas dalam bidang visi komputer (CV) ialah CVPR, yang menarik sejumlah besar institusi penyelidikan dan universiti setiap tahun. Mengikut statistik, sebanyak 11,532 kertas telah diserahkan tahun ini, 2,719 daripadanya diterima, dengan kadar penerimaan 23.6%. Menurut analisis statistik data CVPR2024 Institut Teknologi Georgia, dari perspektif topik penyelidikan, bilangan kertas terbesar ialah sintesis dan penjanaan imej dan video (Imageandvideosyn

Daripada logam kosong kepada model besar dengan 70 bilion parameter, berikut ialah tutorial dan skrip sedia untuk digunakan Daripada logam kosong kepada model besar dengan 70 bilion parameter, berikut ialah tutorial dan skrip sedia untuk digunakan Jul 24, 2024 pm 08:13 PM

Kami tahu bahawa LLM dilatih pada kelompok komputer berskala besar menggunakan data besar-besaran Tapak ini telah memperkenalkan banyak kaedah dan teknologi yang digunakan untuk membantu dan menambah baik proses latihan LLM. Hari ini, perkara yang ingin kami kongsikan ialah artikel yang mendalami teknologi asas dan memperkenalkan cara menukar sekumpulan "logam kosong" tanpa sistem pengendalian pun menjadi gugusan komputer untuk latihan LLM. Artikel ini datang daripada Imbue, sebuah permulaan AI yang berusaha untuk mencapai kecerdasan am dengan memahami cara mesin berfikir. Sudah tentu, mengubah sekumpulan "logam kosong" tanpa sistem pengendalian menjadi gugusan komputer untuk latihan LLM bukanlah proses yang mudah, penuh dengan penerokaan dan percubaan dan kesilapan, tetapi Imbue akhirnya berjaya melatih LLM dengan 70 bilion parameter proses terkumpul

AI sedang digunakan |. AI mencipta vlog kehidupan seorang gadis yang tinggal bersendirian, yang menerima berpuluh ribu suka dalam masa 3 hari AI sedang digunakan |. AI mencipta vlog kehidupan seorang gadis yang tinggal bersendirian, yang menerima berpuluh ribu suka dalam masa 3 hari Aug 07, 2024 pm 10:53 PM

Editor Laporan Kuasa Mesin: Yang Wen Gelombang kecerdasan buatan yang diwakili oleh model besar dan AIGC telah mengubah cara kita hidup dan bekerja secara senyap-senyap, tetapi kebanyakan orang masih tidak tahu cara menggunakannya. Oleh itu, kami telah melancarkan lajur "AI dalam Penggunaan" untuk memperkenalkan secara terperinci cara menggunakan AI melalui kes penggunaan kecerdasan buatan yang intuitif, menarik dan padat serta merangsang pemikiran semua orang. Kami juga mengalu-alukan pembaca untuk menyerahkan kes penggunaan yang inovatif dan praktikal. Pautan video: https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ Baru-baru ini, vlog kehidupan seorang gadis yang tinggal bersendirian menjadi popular di Xiaohongshu. Animasi gaya ilustrasi, ditambah dengan beberapa perkataan penyembuhan, boleh diambil dengan mudah dalam beberapa hari sahaja.

Mesti dibaca untuk pemula teknikal: Analisis tahap kesukaran bahasa C dan Python Mesti dibaca untuk pemula teknikal: Analisis tahap kesukaran bahasa C dan Python Mar 22, 2024 am 10:21 AM

Tajuk: Wajib dibaca untuk pemula teknikal: Analisis kesukaran bahasa C dan Python, memerlukan contoh kod khusus Dalam era digital hari ini, teknologi pengaturcaraan telah menjadi keupayaan yang semakin penting. Sama ada anda ingin bekerja dalam bidang seperti pembangunan perisian, analisis data, kecerdasan buatan, atau hanya belajar pengaturcaraan kerana minat, memilih bahasa pengaturcaraan yang sesuai ialah langkah pertama. Di antara banyak bahasa pengaturcaraan, bahasa C dan Python adalah dua bahasa pengaturcaraan yang digunakan secara meluas, masing-masing mempunyai ciri tersendiri. Artikel ini akan menganalisis tahap kesukaran bahasa C dan Python

Mengira 12 titik kesakitan RAG, arkitek kanan NVIDIA mengajar penyelesaian Mengira 12 titik kesakitan RAG, arkitek kanan NVIDIA mengajar penyelesaian Jul 11, 2024 pm 01:53 PM

Retrieval-augmented generation (RAG) ialah teknik yang menggunakan perolehan semula untuk meningkatkan model bahasa. Secara khusus, sebelum model bahasa menjana jawapan, ia mendapatkan semula maklumat yang berkaitan daripada pangkalan data dokumen yang luas dan kemudian menggunakan maklumat ini untuk membimbing proses penjanaan. Teknologi ini boleh meningkatkan ketepatan dan perkaitan kandungan dengan banyak, mengurangkan masalah halusinasi dengan berkesan, meningkatkan kelajuan kemas kini pengetahuan, dan meningkatkan kebolehkesanan penjanaan kandungan. RAG sudah pasti salah satu bidang penyelidikan kecerdasan buatan yang paling menarik. Untuk butiran lanjut tentang RAG, sila rujuk artikel lajur di tapak ini "Apakah perkembangan baharu dalam RAG, yang pakar dalam menebus kekurangan model besar?" Ulasan ini menerangkannya dengan jelas." Tetapi RAG tidak sempurna, dan pengguna sering menghadapi beberapa "titik kesakitan" apabila menggunakannya. Baru-baru ini, penyelesaian AI generatif termaju NVIDIA

Pelan kehidupan digital di bumi pengembaraan telah dilancarkan? DeepMind mencipta lalat buah dalam komputer, netizen: Bolehkah ia mencipta manusia? Pelan kehidupan digital di bumi pengembaraan telah dilancarkan? DeepMind mencipta lalat buah dalam komputer, netizen: Bolehkah ia mencipta manusia? Mar 18, 2024 pm 03:20 PM

"Soal Tu Hengyu, fahami Tu Hengyu, dan jadi Tu Hengyu." Dalam "The Wandering Earth 2", Andy Lau memainkan peranan yang mengagumkan sebagai Tu Hengyu. Untuk membiarkan anak perempuannya yang meninggal dunia dalam kemalangan kereta mempunyai "kehidupan yang lengkap", dia mengabaikan larangan dunia manusia terhadap "Projek Kehidupan Digital" dan telah diam-diam bekerja sendiri untuk memperbaiki struktur kehidupan digital, dan akhirnya memutuskan untuk secara terbuka melanggar peraturan dan memuat naik data anak perempuannya ke komputer kuantum, dan kemudiannya dipenjarakan kerananya. Peta kehidupan digital Yaya dalam filem "The Wandering Earth 2". Selepas filem itu dikeluarkan, terdapat banyak perbincangan mengenai topik "kehidupan digital". Baru-baru ini, topik ini kembali dibangkitkan kerana ramai orang yang kehilangan saudara mara dan rakan-rakan cuba menggunakan teknologi AI untuk "menghidupkan semula" si mati dan menghasilkan beberapa siri video maya yang mengandungi imej si mati. satu

See all articles