Я создал следующее ...
var menu = document.createElement('select');
Как бы я теперь установить атрибуты CSS, например width: 100px
?
javascript
css
Skizit
источник
источник
-webkit-background-size
? Есть ли способ установить их с простым js, или мы должны использовать jQuery?Просто установите
style
:Или, если хотите, вы можете использовать jQuery :
источник
:)
Для большинства стилей сделайте это:
Для стилей, в имени которых есть дефисы, сделайте это:
источник
Это на самом деле довольно просто с ванильным JavaScript:
источник
Все ответы правильно объясняют, как делать то, что вы просили, но я бы посоветовал использовать JavaScript, чтобы установить класс для элемента и стилизовать его с помощью CSS. Таким образом вы сохраняете правильное разделение между поведением и стилем.
Представьте, что если вы пригласили дизайнера изменить стиль сайта ... он должен иметь возможность работать исключительно в CSS без необходимости работать с вашим JavaScript.
В прототипе я бы сделал:
источник
$(selector).addClass('blah')
Просто для людей, которые хотят сделать то же самое в 2018 году
Вы можете назначить собственное свойство CSS для вашего элемента (через CSS или JS) и изменить его:
Назначение через CSS:
Назначение через JS
Получить значение свойства через JS
Здесь полезные ссылки:
источник
При отладке мне нравится иметь возможность добавлять несколько атрибутов css в одну строку:
Привыкнув к этому стилю, вы можете добавить связку CSS в одну строку следующим образом:
источник
если вы хотите добавить глобальное свойство, вы можете использовать:
источник
источник
источник
Это хорошо работает с большинством свойств CSS, если в них нет дефисов.
Для свойств с дефисами в них, как
max-width
, вы должны преобразоватьsausage-case
вcamelCase
источник
Важно понимать, что приведенный ниже код не меняет таблицу стилей, а вместо этого меняет DOM:
DOM хранит вычисленное значение свойств элемента таблицы стилей, и когда вы динамически изменяете стиль элементов с помощью Javascript, вы меняете DOM. Это важно отметить и понять, потому что способ написания кода может повлиять на вашу динамику. Если вы попытаетесь получить значения, которые не были записаны непосредственно в сам элемент, вот так ...
... вы вернете неопределенное значение, которое будет сохранено в переменной propertyValue примера кода. Если вы работаете с получением и настройкой свойств, которые были написаны внутри таблицы стилей CSS, и вам нужна ОДНА ФУНКЦИЯ, которая получает, а также задает значения свойств-стилей в этой ситуации, что является очень распространенной ситуацией, тогда вы должны использовать JQuery.
Единственным недостатком является то, что вы знакомы с JQuery, но это, честно говоря, одна из очень многих веских причин, по которой каждый Javascript Developer должен изучать JQuery. Если вы хотите получить свойство CSS, которое было вычислено из таблицы стилей в чистом JavaScript, тогда вам нужно использовать.
Недостатком этого метода является то, что метод getComputedValue только получает, но не устанавливает. Взгляд на вычисленные значения в Mozilla. Эта ссылка более подробно рассказывает о том, что я здесь рассмотрел. Надеюсь, это поможет кому-то!
источник