Stworzyłem następujące ...
var menu = document.createElement('select');
Jak mógłbym teraz ustawić atrybuty CSS, np. width: 100px
?
javascript
css
Skizit
źródło
źródło
-webkit-background-size
? Czy istnieje sposób, aby ustawić je za pomocą zwykłego js, czy też musimy użyć jQuery?Wystarczy ustawić
style
:Lub jeśli chcesz, możesz użyć jQuery :
źródło
:)
W przypadku większości stylów zrób to:
W przypadku stylów, które mają łączniki w nazwie, wykonaj następujące czynności:
źródło
To całkiem proste w przypadku waniliowego JavaScript:
źródło
Wszystkie odpowiedzi mówią poprawnie, jak zrobić to, o co prosiłeś, ale radziłbym użyć JavaScript, aby ustawić klasę elementu i stylizować go za pomocą CSS. W ten sposób zachowujesz właściwy rozdział między zachowaniem a stylem.
Wyobraź sobie, że masz projektanta, który zmienił styl witryny ... powinien on być w stanie pracować wyłącznie w CSS bez konieczności pracy z JavaScriptem.
W prototypie zrobiłbym:
źródło
$(selector).addClass('blah')
Tylko dla osób, które chcą zrobić to samo w 2018 roku
Możesz przypisać niestandardową właściwość CSS do swojego elementu (przez CSS lub JS) i zmienić ją:
Przypisanie przez CSS:
Cesja przez JS
Uzyskaj wartość nieruchomości poprzez JS
Tutaj przydatne linki:
źródło
Podczas debugowania lubię móc dodać kilka atrybutów CSS w jednej linii:
Przyzwyczajając się do tego stylu, możesz dodać kilka css w jednej linii, jak poniżej:
źródło
jeśli chcesz dodać usługę globalną, możesz użyć:
źródło
źródło
źródło
Działa to dobrze z większością właściwości CSS, jeśli nie ma w nich myślników.
W przypadku właściwości z łącznikami, takich jak
max-width
, należy przekonwertowaćsausage-case
nacamelCase
źródło
Ważne jest, aby zrozumieć, że poniższy kod nie zmienia arkusza stylów, ale zamiast tego zmienia DOM:
DOM przechowuje obliczoną wartość właściwości elementu arkusza stylów, a kiedy dynamicznie zmieniasz styl elementów za pomocą JavaScript, zmieniasz DOM. Należy o tym pamiętać i zrozumieć, ponieważ sposób pisania kodu może wpływać na dynamikę. Jeśli spróbujesz uzyskać wartości, które nie zostały zapisane bezpośrednio w samym elemencie, na przykład ...
... zwróci niezdefiniowaną wartość, która zostanie zapisana w zmiennej „propertyValue” przykładu kodu. Jeśli pracujesz z pobieraniem i ustawianiem właściwości, które zostały zapisane w arkuszu stylów CSS i chcesz POJEDYNCZĄ FUNKCJĘ, która pobiera, a także ustawia styl-właściwości-wartości w tej sytuacji, co jest bardzo częstą sytuacją, wtedy musisz użyć JQuery.
Jedynym minusem jest to, że poznałeś JQuery, ale jest to jeden z wielu dobrych powodów, dla których każdy programista Javascript powinien uczyć się JQuery. Jeśli chcesz uzyskać właściwość CSS, która została obliczona z arkusza stylów w czystym JavaScript, musisz użyć.
Wadą tej metody jest to, że metoda getComputedValue tylko pobiera, a nie ustawia. Mozilla's Take on Computed Values To łącze prowadzi do głębszego omówienia tego, o czym tutaj pisałem. Mam nadzieję, że to komuś pomoże !!!
źródło