Jeśli HTML ma takie elementy:
id="product42"
id="product43"
...
Jak dopasować wszystkie te identyfikatory zaczynające się od „produktu”?
Widziałem odpowiedzi, które robią to dokładnie za pomocą javascript, ale jak to zrobić tylko za pomocą CSS?
html
css
css-selectors
guptron
źródło
źródło
product
jest wyraźnie prawidłowym identyfikatorem i dlatego nie wymaga cudzysłowów.:not([id^=product])
Zrobiłbym to w ten sposób:
Najlepiej użyj klasy. Do tego służą klasy:
A teraz selektor staje się:
źródło
Użyj selektora atrybutów
źródło
Zauważyłem, że istnieje inny selektor CSS, który robi to samo. Składnia jest następująca:
Spowoduje to wybranie identyfikatora wszystkich elementów, który zaczyna się od słowa zawartego w podwójnych cudzysłowach.
źródło
att|=val
nie jest taki sam jakatt^=val
. Ze wspomnianego odniesienia:|=
Selektor „Reprezentuje element z atrybutem att, którego wartość to albo dokładnie„ val ”, albo zaczynająca się od„ val ”, po którym bezpośrednio następuje„ - ” .” Tak więc identyfikator podobny do „product42” nie pasowałby do|=
, ale „produkt-42” by to zrobił.