Adakah jQuery Benar-benar Menyokong Semua Pemilih CSS?

Linda Hamilton
Lepaskan: 2024-10-31 06:03:30
asal
222 orang telah melayarinya

Does jQuery Truly Support All CSS Selectors?

Sokongan Pemilih jQuery: Membongkar Misteri

Walaupun jQuery mempunyai sokongan pemilih CSS yang meluas, pemilih tertentu seperti :nth-last-child() tetap sukar difahami. Walau bagaimanapun, ia tidak semudah yang kelihatan.

Pelaksanaan Separa jQuery bagi Pemilih CSS3

Walaupun menuntut pematuhan dengan Pemilih Tahap 3, pelaksanaan pemilih jQuery gagal di beberapa kawasan , seperti yang dijelaskan dalam dokumentasinya. Ia bergantung pada pustaka pemilih asasnya, Sizzle, yang menyokong kebanyakan tetapi bukan semua pemilih Tahap 3.

Pemilih Disokong dan Tidak Disokong

Bermula dari jQuery 1.9, Sizzle menyokong hampir semua pemilih Tahap 3 kecuali:

  • Unsur Pseudo
  • Kelas pseudo dinamik seperti :link/:visited dan :hover
  • Awalan ruang nama

Selain itu, jQuery telah menambah pemilihnya sendiri.

:nth-last-child() in Action

The :nth-last-child( ) pemilih nampaknya berfungsi dalam sesetengah pelayar kerana jQuery memanfaatkan document.querySelectorAll(). Penyemak imbas yang menyokong kedua-dua :nth-last-child() dan document.querySelectorAll(), seperti Firefox, Chrome dan IE9, mengembalikan senarai nod yang boleh digunakan oleh jQuery.

Fallback Mechanism dan IE8 Compatibility

Jika document.querySelectorAll() gagal, jQuery akan kembali kepada Sizzle. Walau bagaimanapun, Sizzle tidak menyokong :nth-last-child(). Memandangkan IE8 tidak melaksanakan document.querySelectorAll(), mekanisme sandaran gagal, yang membawa kepada kegagalan pada IE8.

Penyelesaian Alternatif

Naik taraf kepada jQuery 1.9 atau lebih baru diselesaikan isu :nth-last-child(). Sebagai alternatif, jQuery menyediakan sambungan pemilih tersuai untuk melaksanakan kelas pseudo yang tidak disokong.

Atas ialah kandungan terperinci Adakah jQuery Benar-benar Menyokong Semua Pemilih CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!