Rumah > hujung hadapan web > tutorial js > Pemilih atribut yang sepadan dengan regex

Pemilih atribut yang sepadan dengan regex

William Shakespeare
Lepaskan: 2025-03-05 00:40:10
asal
980 orang telah melayarinya

3

Mereka tidak wujud, tetapi tidakkah itu begitu sejuk? Saya tidak tahu betapa sukarnya untuk melaksanakan regex, atau bagaimana mahal untuk menghuraikan, tetapi bukan hanya bom? Regex Matching Attribute Selectors

Katakan saya mempunyai sekumpulan elemen, semuanya dengan nama kelas yang sama, yang mempunyai gaya bersama tetapi juga memerlukan peraturan individu, contohnya:

Pemilih atribut yang sepadan dengan regex

Saya boleh melakukan penggantian imej pada senarai senarai itu untuk membuat bar navigasi grafik, dengan peraturan seperti ini:

tidak terlalu buruk, tetapi sebagai struktur tumbuh saiz, jadi CSS

tumbuh juga. Sekiranya strukturnya menjadi sangat besar sehingga CSS
<ul >
	<li ><a href="/">Home</a></li>
	<li ><a href="/products/">Products</a></li>
	<li ><a href="/about/">About</a></li>
</ul>
Salin selepas log masuk
akan menjadi sama -sama verbose; Belum lagi hakikat bahawa saya perlu mengeditnya secara manual setiap kali item baru ditambah.

Tetapi bagaimana jika saya hanya dapat melakukan ini:
#menu li
{
	background:none #fff no-repeat;
}

#menu li#menu-home
{
	background-image:url("home.png");
}

#menu li#menu-products
{
	background-image:url("products.png");
}

#menu li#menu-about
{
	background-image:url("about.png");
}
Salin selepas log masuk

Sekarang gaya menu saya tidak dapat dilanjutkan - saya boleh menambah bilangan item baru, tanpa perlu menyentuh CSS !

hanya pemikiran ...

#menu li[id%="/^menu-([a-z]+)$/"]
{
	background-image:url(".png");
}
Salin selepas log masuk
soalan yang sering ditanya mengenai pemilih atribut yang sepadan dengan regex

Apakah pemilih atribut yang sepadan dengan regex dalam CSS?

Pemilih atribut pemadanan Regex adalah alat yang berkuasa dalam CSS yang membolehkan anda memilih elemen berdasarkan nilai atribut mereka. Ia menggunakan ungkapan biasa, urutan aksara yang membentuk corak carian, untuk memadankan nilai atribut. Ciri ini amat berguna apabila anda ingin gaya elemen dengan atribut yang sama dengan cara tertentu. Sebagai contoh, anda boleh memilih semua elemen input dengan atribut jenis yang bermula dengan 'teks' dan menggunakan gaya tertentu kepada mereka. Nama atribut diikuti oleh pengendali perlawanan, yang boleh '=', '~ =', '| =', '^=', '$ =' atau '*=', dan kemudian nilai atribut dalam petikan. Sebagai contoh, input [type^= "text"] akan memilih semua elemen input dengan atribut jenis yang bermula dengan 'Text'. Ini termasuk kedua -dua atribut standard seperti 'kelas', 'id', 'jenis', 'href', dan lain -lain, dan atribut adat. Walau bagaimanapun, perlu diingat bahawa tidak semua atribut disokong dalam semua penyemak imbas, jadi ia sentiasa merupakan idea yang baik untuk memeriksa keserasian pelayar sebelum menggunakan atribut tertentu.

Apakah pengendali perlawanan yang berbeza dalam pemilih atribut yang sepadan dengan Regex? Operator '=' sepadan dengan tepat, operator '~ =' sepadan dengan mana-mana nilai yang dipisahkan ruang, operator '| =' sepadan dengan mana-mana nilai yang dipisahkan dash atau nilai yang tepat, operator '^=' sepadan JavaScript?

Ya, anda boleh menggunakan pemilih atribut pemadanan regex dalam JavaScript menggunakan kaedah QuerySelector dan QuerySelectorAll. Kaedah ini mengembalikan elemen pertama atau semua elemen, masing -masing, yang sepadan dengan pemilih CSS yang ditentukan. Sebagai contoh, document.queryselector ('input [type^= "text"]) akan mengembalikan elemen input pertama dengan atribut jenis yang bermula dengan' teks '. Walau bagaimanapun, anda boleh menjadikan mereka tidak sensitif dengan menambah 'I' selepas nilai atribut. Sebagai contoh, input [jenis^= "teks" i] akan memilih semua elemen input dengan atribut jenis yang bermula dengan 'teks', tanpa mengira kes. Sebagai contoh, input [type^= "text"], input [type^= "kata laluan"] akan memilih semua elemen input dengan atribut jenis yang bermula dengan 'teks' atau 'kata laluan'. Sebagai contoh, input [jenis^= "teks"] aktif akan memilih semua elemen input aktif dengan atribut jenis yang bermula dengan 'teks'. Ia tidak akan menyebabkan sebarang kesilapan atau memecahkan seluruh CSS anda. Oleh itu, adalah idea yang baik untuk menggunakannya dengan bijak dan sentiasa menguji CSS anda untuk prestasi.

Atas ialah kandungan terperinci Pemilih atribut yang sepadan dengan regex. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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