Wiem, że mogę ustawić wartość CSS za pomocą JavaScript, na przykład:
document.getElementById('image_1').style.top = '100px';
Ale czy mogę uzyskać aktualną określoną wartość stylu? Przeczytałem, gdzie mogę uzyskać cały styl dla elementu, ale nie chcę analizować całego łańcucha, jeśli nie muszę.
javascript
css
Michael Paul
źródło
źródło
var top = document.getElementById('image_1').style.top;
Może chcesz przeformułować, jeśli nie tego chceszOdpowiedzi:
Możesz użyć
getComputedStyle()
.jsFiddle .
źródło
Właściwość element.style pozwala poznać tylko właściwości CSS, które zostały zdefiniowane jako wbudowane w tym elemencie (programowo lub zdefiniowane w atrybucie stylu elementu), należy uzyskać obliczony styl.
Nie jest to takie łatwe w przeglądarce, IE ma swój własny sposób, poprzez właściwość element.currentStyle, a standardowy sposób DOM Level 2, implementowany przez inne przeglądarki, to metoda document.defaultView.getComputedStyle.
Istnieją dwa sposoby różnic, na przykład właściwość IE element.currentStyle oczekuje, że uzyskasz dostęp do nazw właściwości CSS złożonych z dwóch lub więcej słów w camelCase (np. MaxHeight, fontSize, backgroundColor itp.), Standardowy sposób oczekuje właściwości z właściwościami wyrazy oddzielone myślnikami (np. maksymalna wysokość, rozmiar czcionki, kolor tła itp.). ......
Główny przepływ stosu referencji
źródło
Użyj następujących. Pomogło mi to.
Zobacz także Uzyskaj style .
źródło
Rozwiązanie dla przeglądarki do sprawdzania wartości CSS bez manipulacji DOM:
Stosowanie:
Wersja odkażona (zmusza wejście selektora do małych liter i pozwala na użycie przypadku bez poprzedzającego „.”)
źródło
Jeśli ustawisz go programowo, możesz po prostu wywołać go jak zmienną (tj
document.getElementById('image_1').style.top
.). W przeciwnym razie zawsze możesz użyć jQuery:źródło
Jeśli jesteś w bibliotekach, dlaczego nie MyLibrary i getStyle .
Metoda css jQuery jest źle nazwana, CSS jest tylko jednym ze sposobów ustawiania stylów i niekoniecznie odzwierciedla rzeczywiste wartości właściwości stylu elementu.
źródło
W 2020 r
Możesz użyć computedStyleMap ()
Odpowiedź jest ważny, ale czasami trzeba sprawdzić, co jednostka powraca, można dostać bez
slice()
lubsubstring()
sznurkiem.źródło
Ze względów bezpieczeństwa możesz chcieć sprawdzić, czy element istnieje, zanim spróbujesz go odczytać. Jeśli nie istnieje, kod wygeneruje wyjątek, który zatrzyma wykonanie na pozostałej części JavaScript i potencjalnie wyświetli komunikat o błędzie dla użytkownika - źle. Chcesz być w stanie z wdziękiem ponieść porażkę.
źródło
Podane powyżej rozwiązanie dla wielu przeglądarek bez manipulacji DOM nie działa, ponieważ daje pierwszą pasującą regułę, a nie ostatnią. Obowiązuje ostatnia pasująca reguła. Oto działająca wersja:
Jednak to proste wyszukiwanie nie będzie działać w przypadku złożonych selektorów.
źródło