Jawaban:
[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.
product
jelas merupakan pengidentifikasi yang valid, dan karena itu tidak memerlukan tanda kutip.
:not([id^=product])
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 {
...
}
Gunakan pemilih atribut
[id^=product]{property:value}
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.
att|=val
TIDAK 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.