Menyiasat Elemen Div dengan Berbilang Nama Kelas
Dalam senario di mana elemen web mempunyai berbilang nama kelas, pertanyaan menggunakan className dengan ruang- nilai yang dipisahkan tidak boleh dilaksanakan kerana kefungsiannya yang terhad. Untuk menangani isu ini, terdapat beberapa pendekatan alternatif yang tersedia.
XPath Locators:
XPath membenarkan penggunaan berbilang kriteria dalam pengecaman unsur. Sebagai contoh, ungkapan berikut akan memadankan elemen dengan kedua-dua kelas "nilai" dan "ujian":
//div[contains(@class, 'value') and contains(@class, 'test')]
Pemilih CSS:
Pemilih CSS menawarkan ringkas dan alternatif yang cekap. Aksara "*" boleh digunakan untuk memadankan sebarang nilai dalam nama kelas.
div[class*='value test']
Dalam kes di mana susunan kelas yang ditentukan tidak penting, pemilih berikut boleh digunakan:
div.value.test
Pelaksanaan Tersuai:
Untuk pertanyaan yang lebih kompleks, pelaksanaan tersuai menggunakan JavaScript atau API penyemak imbas mungkin diperlukan.
Contoh:
Pertimbangkan struktur HTML berikut:
<div class="value test"></div> <div class="value test "></div> <div class="first value test last"></div> <div class="test value"></div>
Jadual berikut menggambarkan cara pendekatan yang berbeza akan sepadan dengan elemen ini:
Approach | Matching Elements |
---|---|
By.xpath("//div[@class='value test']") | 1 |
By.xpath("//div[contains(@class, 'value test')]") | 1, 2, 3 |
By.cssSelector("div[class='value test']") | 1 |
By.cssSelector("div[class*='value test']") | 1, 2, 3 |
By.cssSelector("div.value.test") | 1, 2, 3, 4 |
Dengan memilih pendekatan yang paling sesuai untuk keperluan pengenalan elemen khusus, pembangun boleh mengesan elemen web dengan berbilang nama kelas dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Elemen Div dengan Berbilang Nama Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!