Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memilih Kelas CSS Dengan Tepat Menggunakan XPath?

Bagaimanakah Saya Boleh Memilih Kelas CSS Dengan Tepat Menggunakan XPath?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-06 04:35:11749semak imbas

How Can I Accurately Select CSS Classes Using XPath?

Memilih Kelas CSS dengan XPath: Panduan Komprehensif

Cabarannya

Memilih kelas CSS dengan XPath menimbulkan cabaran unik kerana XPath tidak mempunyai persamaan asli kepada pemilih kelas CSS. Artikel ini meneroka selok-belok isu ini dan menyediakan penyelesaian yang cekap.

Cara Yang Salah: Kelas Sama dengan

Pemilih XPath menggunakan //*[@class="foo"] gagal memilih elemen dengan berbilang kelas atau ruang putih di sekeliling nama kelas.

Cara Yang Salah: Kelas Mengandungi

Pemilih seperti //*[contains(@class, "foo")] padankan elemen dengan kelas seperti foobar, yang tidak betul.

Cara yang Betul: Normalize-Space dan Contains

Untuk memilih elemen dengan kelas tertentu dengan tepat, XPath menggunakan pemilih berikut:

//*[contains(concat(" ", normalize-space(@class), " "), " foo ")]
  • normalize-space() mengalih keluar ruang putih di hadapan dan di belakang.
  • concat() menambahkan ruang sebelum dan selepas nilai atribut kelas.
  • mengandungi() menyemak sama ada rentetan bercantum termasuk kelas sasaran.

Kesamaan dan Implikasi Selanjutnya

Pemilih XPath yang disediakan adalah bersamaan dengan pemilih CSS *[class~="foo"], yang memadankan elemen dengan kelas yang mengandungi kelas sasaran. Memahami nuansa ini adalah penting untuk kecekapan XPath.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Kelas CSS Dengan Tepat Menggunakan XPath?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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