Czy istnieje selektor CSS do wybierania tego elementu na podstawie wartości atrybutu stylu wbudowanego?
<div style='display:block'>...</div>
coś jak
div[cssAttribute=cssValue]
Czy istnieje selektor CSS do wybierania tego elementu na podstawie wartości atrybutu stylu wbudowanego?
<div style='display:block'>...</div>
coś jak
div[cssAttribute=cssValue]
Odpowiedzi:
style
Atrybut inline nie różni się od żadnego innego atrybutu HTML i można go dopasować za pomocą selektora atrybutu podciągów:
div[style*="display:block"]
Jednak właśnie z tego powodu jest niezwykle delikatny . Ponieważ selektory atrybutów nie obsługują wyrażeń regularnych, można wykonywać tylko dokładne dopasowania podciągów wartości atrybutu. Na przykład, jeśli masz spację gdzieś w wartości atrybutu, na przykład:
<div style='display: block'>...</div>
Nie będzie pasować, dopóki nie zmienisz selektora, aby pomieścić przestrzeń. A potem przestanie dopasowywać wartości, które nie zawierają spacji, chyba że uwzględnisz wszystkie permutacje, ad nauseum. Ale jeśli pracujesz z dokumentem, w którym deklaracje stylu wbudowanego raczej się nie zmienią, powinno być dobrze.
Zwróć również uwagę, że wcale nie oznacza to wybierania elementów według ich rzeczywistych określonych, obliczonych lub używanych wartości, co znajduje odzwierciedlenie w modelu DOM. Że nie jest to możliwe z selektorów CSS.
Włącznie z ";" działa lepiej dla mnie.
div[style*="display:block;"]
style
musi dokładnie pasować do właściwości HTML
;
.