Если в HTML есть такие элементы:
id="product42"
id="product43"
...
Как мне сопоставить все эти идентификаторы, начинающиеся с "product"?
Я видел ответы, которые делают это именно с помощью JavaScript, но как это сделать только с помощью CSS?
html
css
css-selectors
guptron
источник
источник
product
явно допустимый идентификатор, и поэтому не нуждается в кавычках.:not([id^=product])
Я бы сделал это так:
В идеале, использовать класс. Вот для чего нужны классы:
И теперь селектор становится:
источник
Используйте селектор атрибута
источник
Я заметил, что есть другой селектор CSS, который делает то же самое. Синтаксис выглядит следующим образом:
Это выберет идентификатор всех элементов, который начинается со слова, заключенного в двойные кавычки.
источник
att|=val
это не то же самое, чтоatt^=val
. Из упомянутой ссылки:|=
Селектор "Представляет элемент с атрибутом att, его значение либо точно равно" val ", либо начинается с" val ", за которым сразу следует" - " ." Таким образом, идентификатор, такой как "product42", не будет соответствовать|=
, но "товар-42" был бы.