Câu trả lời:
[id^=product]
^=
cho biết "bắt đầu bằng". Ngược lại, $=
chỉ ra "kết thúc bằng".
Các biểu tượng thực sự được mượn từ cú pháp Regex, trong đó ^
và $
có nghĩa là "bắt đầu chuỗi" và "kết thúc chuỗi" tương ứng.
Xem thông số kỹ thuật để biết thông tin đầy đủ.
product
rõ ràng là một định danh hợp lệ, và do đó không cần trích dẫn.
:not([id^=product])
Tôi sẽ làm như thế này:
[id^="product"] {
...
}
Lý tưởng nhất, sử dụng một lớp học. Đây là những gì các lớp học dành cho:
<div id="product176" class="product"></div>
<div id="product177" class="product"></div>
<div id="product178" class="product"></div>
Và bây giờ bộ chọn trở thành:
.product {
...
}
Sử dụng bộ chọn thuộc tính
[id^=product]{property:value}
Tôi nhận thấy rằng có một bộ chọn CSS khác thực hiện điều tương tự. Cú pháp như sau:
[id|="name_id"]
Điều này sẽ chọn tất cả ID phần tử bắt đầu bằng từ được đặt trong dấu ngoặc kép.
att|=val
KHÔNG giống như att^=val
. Từ tham chiếu được đề cập: Bộ |=
chọn "Đại diện cho một phần tử với thuộc tính att, giá trị của nó là chính xác" val "hoặc bắt đầu bằng" val " ngay sau" - " ." Vì vậy, một id như "sản phẩm42" sẽ không được khớp bởi |=
, nhưng "sản phẩm-42" sẽ.