Bagaimana cara mendapatkan CSS untuk memilih ID yang dimulai dengan string (bukan dalam Javascript)?


194

Jika HTML memiliki elemen seperti ini:

id="product42"
id="product43"
...

Bagaimana cara mencocokkan semua id yang dimulai dengan "produk"?

Saya telah melihat jawaban yang melakukan ini persis menggunakan javascript, tetapi bagaimana melakukannya hanya dengan CSS?

Jawaban:


364
[id^=product]

^=menunjukkan "dimulai dengan". Sebaliknya, $=menunjukkan "diakhiri dengan".

Simbol sebenarnya dipinjam dari sintaks Regex, di mana ^dan $berarti "mulai dari string" dan "end of string" masing-masing.

Lihat spesifikasi untuk informasi lengkap.


1
Terima kasih atas metode dan penjelasannya, saya telah mengedit pertanyaan saya jadi lebih jelas. Karena penasaran, apakah ada cara untuk mencocokkan string di dalam string id?
guptron

Lihat spesifikasinya , mereka menjelaskannya lebih baik daripada yang saya bisa!
Niet the Dark Absol

@ Itamar: Saya menghargai upaya Anda mengedit jawaban saya, tetapi kutipan hanya diperlukan jika nilainya berisi karakter yang bukan pengidentifikasi yang valid. productjelas merupakan pengidentifikasi yang valid, dan karena itu tidak memerlukan tanda kutip.
Niet the Dark Absol


3
@ Emerald214:not([id^=product])
Niet the Dark Absol

59

Saya akan melakukannya seperti ini:

[id^="product"] {
  ...
}

Idealnya, gunakan kelas. Ini adalah untuk kelas apa:

<div id="product176" class="product"></div>
<div id="product177" class="product"></div>
<div id="product178" class="product"></div>

Dan sekarang pemilih menjadi:

.product {
  ...
}

1
@Blender, terima kasih, saya memilih jawaban yang lain karena menjelaskan lebih banyak kepada saya dan memahami simbol yang digunakan. Saya tidak bisa menggunakan kelas untuk skenario ini, jika tidak, ya itu akan lebih baik.
guptron


-1

Saya perhatikan bahwa ada pemilih CSS lain yang melakukan hal yang sama. Sintaksnya adalah sebagai berikut:

[id|="name_id"]

Ini akan memilih semua elemen ID yang dimulai dengan kata yang dilampirkan dalam tanda kutip ganda.


Bagaimana Anda memperhatikannya? referensi?
Ben Bozorg

Dok untuk ini di sini: w3.org/TR/selectors-3/#attribute-selectors Ini harus memilih semua id yang dimulai atau sama dengan "name_id"
Dessauges Antoine

att|=valTIDAK sama dengan att^=val. Dari referensi yang disebutkan: |=pemilih "Merupakan elemen dengan atribut att, nilainya menjadi tepat" val "atau dimulai dengan" val " segera diikuti oleh" - " ." Jadi id seperti "product42" tidak akan cocok dengan |=, tetapi "produk-42" akan.
Goozak
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.