Mam określony arkusz stylów dla div. Teraz chcę dynamicznie zmodyfikować jeden atrybut div za pomocą js.
Jak mogę to zrobić?
document.getElementById("xyz").style.padding-top = "10px";
Czy to jest poprawne?
źródło
Mam określony arkusz stylów dla div. Teraz chcę dynamicznie zmodyfikować jeden atrybut div za pomocą js.
Jak mogę to zrobić?
document.getElementById("xyz").style.padding-top = "10px";
Czy to jest poprawne?
Prawie się zgadza.
Ponieważ -
jest operatorem javascript, tak naprawdę nie można go mieć w nazwach właściwości. Gdybyś ustawił border
lub zamiast tego coś takiego jednowyrazowego, twój kod działałby dobrze.
Jednak rzeczą, o której musisz pamiętać padding-top
, i dla każdej nazwy atrybutu z łącznikiem, jest to, że w javascript usuwasz łącznik i tworzysz następną literę wielką, więc w twoim przypadku tak będzie paddingTop
.
Jest kilka innych wyjątków. JavaScript ma kilka zarezerwowanych słów, więc float
na przykład nie możesz ich tak ustawić . Zamiast tego w niektórych przeglądarkach musisz używać, cssFloat
aw innych styleFloat
. W przypadku takich rozbieżności zaleca się użycie struktury takiej jak jQuery, która obsługuje niezgodności przeglądarek za Ciebie ...
Oprócz innych odpowiedzi, jeśli chcesz użyć notacji myślnika we właściwościach stylu, możesz również użyć:
document.getElementById("xyz").style["padding-top"] = "10px";
document.getElementById("xyz").style["paddingTop"] = '10px'
.Podobny problem rozwiązuję z:
Mam nadzieję, że to pomoże.
źródło
0
. Czasami tego nie chcesz.Jest też
style.setProperty
funkcja:https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/setProperty
źródło
Zakładając, że masz taki HTML:
Jeśli chcesz zmodyfikować atrybut stylu tego elementu div, użyj
Zastąp
[ATTRIBUTE]
żądanym atrybutem stylu. Pamiętaj, aby usunąć znak „-” i uczynić następującą literę wielką literą.Przykłady
źródło
float
.będzie
źródło
Zalecałbym użycie funkcji, która akceptuje identyfikator elementu i obiekt zawierający właściwości CSS, aby sobie z tym poradzić. W ten sposób piszesz wiele stylów na raz i używasz standardowej składni właściwości CSS.
Jeszcze lepiej byłoby przechowywać style w zmiennej, co znacznie ułatwi zarządzanie nieruchomością np
Mam nadzieję, że to pomoże
źródło
Zaskoczony , że nie widziałem poniższego rozwiązania selektora zapytań ,
Rozwiązania CSSStyleDeclaration , przykład przyjętej odpowiedzi
źródło
również wykonałby swoją pracę.
źródło
pracuje dla mnie
źródło