动态创建的元素的持久性css规则更改

时间:2017-04-02 18:29:02

标签: javascript jquery html css

我想永久修改css规则(这样新的元素将采用这个css规则)。似乎所有使用css的jquery修改都不会持久化(比如说修改未来元素的背景颜色在创建它们时不会持续存在):

$(".red").css("background-color", "blue");

在这里看到我的小提琴:

https://jsfiddle.net/Lvm0c7m6/

我希望所有未来的元素现在都有css创建的新规则,有没有办法(具有良好的跨浏览器支持)。

1 个答案:

答案 0 :(得分:2)

您在执行时订购javascript,为所有带有“red”类的元素添加内联样式,将其着色为蓝色。之后,您将新元素添加到DOM。他们不了解早期的命令,因此不受他们的影响。

这解决了您的问题,因为这会为文档添加样式规则。这会影响所有元素,并且是“持久的”:

$( "<style>.red { background: blue; }</style>" ).appendTo( "body" );

请参阅:https://jsfiddle.net/aLghL2ke/

请注意,如果要多次运行此命令,最好从代码中删除旧样式块。这也可以使用以下命令使用jQuery完成:

$( "body style" ).remove();

请参阅:https://jsfiddle.net/4duxsz0a/