Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][JavaScript]Zmiana koloru elementu after przez JS
Forum PHP.pl > Forum > Przedszkole
michal_s
Mam sobie element
#blink i
  1. #blink:after {
  2. border-left-color: rgba(0, 0, 0, 0.74);
  3. }


Zmieniam sobie kolor tego #blink w taki sposób:
  1. document.getElementById("blink2").style.background="rgba(0, 0, 0, 0.74)"

I w taki sam sposób chciałbym zmienić ten border-left-color tego elementu after przy pomocy JS. Jakkolwiek próbuje to nigdy mi nie działa;/ Wie ktos jak to zrobić poprawnie?
PrinceOfPersia
1. zrób case na jsfiddle.net
2. zmiana bezpośrednio CSS przez JavaScript jest nieelegancka i zwykle lepszym rozwiązaniem jest zdefiniować klasy w pliku CSS a JavaScriptem jedynie dodawać/odejmować klasy.
3. coś z borderem źle ustawiasz (ustawiasz tylko kolor, plus definiujesz to dla pseudoelementu :after, co też się wiąże z pułapkami).

Comandeer
AFAIR nie da się złapać w żaden sposób ::after przez JS. Ale można ustawić klasę dla całego elementu i ładnie to ostylować w CSS.

Ogólnie zachęcam do zmiany podejścia i porzucenia modyfikowania prezentacji elementu na rzecz modyfikowania stanu (klasy) elementu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.