在 JavaScript 中设置 CSS 属性?

IT技术 javascript css
2021-01-11 02:18:19

我创建了以下...

var menu = document.createElement('select');

我现在将如何设置 CSS 属性,例如width: 100px

6个回答

使用element.style

var element = document.createElement('select');
element.style.width = "100px";
这实际上是在元素中而不是在样式表中设置元素的样式。
2021-03-21 02:18:19
那些非官方的-webkit-background-size呢?有没有办法用普通的 js 设置这些,或者我们必须使用 jQuery?
2021-03-22 02:18:19
@Luke obj.style["-webkit-background-size"] = "400px"
2021-04-02 02:18:19

只需设置style

var menu = document.createElement("select");
menu.style.width = "100px";

或者,如果您愿意,可以使用jQuery

$(menu).css("width", "100px");
@Sime - 我确实承认:“无论如何,第一行有单引号,因为我从 OPs 问题中复制了它。无论如何现在更正了。”
2021-03-22 02:18:19
好吧,他们现在还好,但在我发表评论时他们不一致 :)
2021-03-29 02:18:19
@Sime - 我的报价并不一致。我总是对 JS 使用双引号,因为这是工作中的标准。无论如何,第一行有单引号,因为我从 OPs 问题中复制了它。反正现在更正了。
2021-04-03 02:18:19

对于大多数样式,请执行以下操作:

var obj = document.createElement('select');
obj.style.width= "100px";

对于名称中包含连字符的样式,请改为执行以下操作:

var obj = document.createElement('select');
obj.style["-webkit-background-size"] = "100px"

使用 vanilla JavaScript 这实际上非常简单:

menu.style.width = "100px";

所有答案都正确地告诉您如何执行您所要求的操作,但我建议使用 JavaScript 在元素上设置一个类并使用 CSS 为其设置样式。这样你就可以在行为和风格之间保持正确的分离。

想象一下,如果您让一位设计师重新设计网站的样式……他们应该能够完全使用 CSS 工作,而无需使用您的 JavaScript。

在原型中,我会这样做:

$(newElement).addClassName('blah')
这个的jQuery版本供参考... $(selector).addClass('blah')
2021-03-15 02:18:19
来自我的 +1 - 更容易/更干净地将所有 CSS 分开。
2021-04-02 02:18:19
香草版: newElement.classList.add('blah')
2021-04-03 02:18:19