我想永久修改css规则(这样新的元素将采用这个css规则)。似乎所有使用css的jquery修改都不会持久化(比如说修改未来元素的背景颜色在创建它们时不会持续存在):
$(".red").css("background-color", "blue");
在这里看到我的小提琴:
https://jsfiddle.net/Lvm0c7m6/
我希望所有未来的元素现在都有css创建的新规则,有没有办法(具有良好的跨浏览器支持)。
答案 0 :(得分:2)
您在执行时订购javascript,为所有带有“red”类的元素添加内联样式,将其着色为蓝色。之后,您将新元素添加到DOM。他们不了解早期的命令,因此不受他们的影响。
这解决了您的问题,因为这会为文档添加样式规则。这会影响所有元素,并且是“持久的”:
$( "<style>.red { background: blue; }</style>" ).appendTo( "body" );
请参阅:https://jsfiddle.net/aLghL2ke/
请注意,如果要多次运行此命令,最好从代码中删除旧样式块。这也可以使用以下命令使用jQuery完成:
$( "body style" ).remove();