10 ответов:
использовать
element.style:var element = document.createElement('select'); element.style.width = "100px";
просто установить
style:var menu = document.createElement("select"); menu.style.width = "100px";или если вы хотите, вы можете использовать jQuery:
$(menu).css("width", "100px");
для большинства стилей этого:
var obj = document.createElement('select'); obj.style.width= "100px";для стилей, которые имеют дефисы в имени, сделайте это вместо этого:
var obj = document.createElement('select'); obj.style["-webkit-background-size"] = "100px"
все ответы скажите Как правильно делать то, что вы просили, но я бы посоветовал использовать JavaScript, чтобы установить класс на элемент и стиль его с помощью CSS. Таким образом, вы сохраняете правильное разделение между поведением и стилем.
представьте, что у вас есть дизайнер, чтобы изменить стиль сайта... они должны быть в состоянии работать исключительно в CSS без необходимости работать с вашим JavaScript.
в прототипе я бы сделал:
$(newElement).addClassName('blah')
Если вы хотите добавить глобальное свойство, вы можете использовать:
var styleEl = document.createElement('style'), styleSheet; document.head.appendChild(styleEl); styleSheet = styleEl.sheet; styleSheet.insertRule(".modal { position:absolute; bottom:auto; }", 0);
при отладке мне нравится добавлять кучу атрибутов css в одну строку:
menu.style.cssText = 'width: 100px';привыкнув к этому стилю, вы можете добавить кучу css в одну строку следующим образом:
menu.style.cssText = 'width: 100px; height: 100px; background: #afafaf';
<h1>Silence and Smile</h1> <input type="button" value="Show Red" onclick="document.getElementById('h1').style.color='Red'"/> <input type="button" value="Show Green" onclick="document.getElementById('h1').style.color='Green'"/>
<body> <h1 id="h1">Silence and Smile</h1><br /> <h3 id="h3">Silence and Smile</h3> <script type="text/javascript"> document.getElementById("h1").style.color = "Red"; document.getElementById("h1").style.background = "Green"; document.getElementById("h3").style.fontSize = "larger" ; document.getElementById("h3").style.fontFamily = "Arial"; </script> </body>
только для людей, которые хотят сделать то же самое в 2018 году
вы можете назначить CSS пользовательское свойство для вашего элемента (через CSS или JS) и изменить его:
назначение через CSS:
element { --element-width: 300px; width: var(--element-width, 100%); }назначение через JS
ELEMENT.style.setProperty('--element-width', NEW_VALUE);получить значение свойства через JS
ELEMENT.style.getPropertyValue('--element-width');здесь полезную ссылки:
- https://developer.mozilla.org/en-US/docs/Web/CSS/--*
- https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/getPropertyValue
- https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/setProperty
- https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/removeProperty
Comments