如何在不使用JQuery中的.css()方法的情况下动态更改CSS属性?

Gal*_*nto 3 css jquery

我的HTML代码中有一个div.我想将它的背景颜色更改为红色(例如红色,但它可以是另一种颜色),但我不想在Jquery中使用.css()方法,因为.css()方法会在我的HTML代码:

<div id="my_div" style="background-color: red"> Elements inside my div </div>
Run Code Online (Sandbox Code Playgroud)

我不想在我的HTML代码中使用style属性,但是如何使用它来更改css动态whitout呢?

更新:我不能使用类,因为颜色不一定是红色,可以是蓝色,黄色,紫色或十六进制颜色.

Joã*_*lva 6

您可以使用CSS类:

.red {
  background-color: red;
}

$("#my_div").addClass("red");
Run Code Online (Sandbox Code Playgroud)

如果你有多种颜色,你可以创建多个类,但这在某种程度上违背了使用类的泛化目的,如注释中提到的@pst,你可能更好地使用它css().

  • @ user1598505其中存在问题的症结所在.目标是一次性专业化,而CSS类是泛化.内联样式*是*获得一次性特化的方法..虽然可以定义*dynamic*样式表(比如创建每个元素的类),这是另一种蠕虫. (2认同)