Se o HTML tiver elementos como este:
id="product42"
id="product43"
...
Como faço para corresponder todos esses IDs começando com "produto"?
Já vi respostas que fazem isso exatamente usando javascript, mas como fazê-lo apenas com CSS?
html
css
css-selectors
guptron
fonte
fonte
product
é claramente um identificador válido e, portanto, não precisa de aspas.:not([id^=product])
Eu faria assim:
Idealmente, use uma classe. É para isso que servem as classes:
E agora o seletor se torna:
fonte
Use o seletor de atributos
fonte
Notei que há outro seletor de CSS que faz a mesma coisa. A sintaxe é a seguinte:
Isso selecionará todos os IDs dos elementos que começam com a palavra entre aspas duplas.
fonte
att|=val
NÃO é o mesmo queatt^=val
. A partir da referência mencionada: O|=
seletor "Representa um elemento com o atributo att, seu valor sendo exatamente" val "ou começando com" val " imediatamente seguido de" - " ." Portanto, um ID como "product42" não seria correspondido por|=
, mas o "produto 42" seria.