Javascript 动态地将样式设置应用于:before元素

Javascript 动态地将样式设置应用于:before元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要动态地向before:元素添加样式 在我的页面上,我有以下容器 <p class="stepNode 203"></p> 我在页面中动态添加了样式,以设置此元素的背景图像: $('head').append('<style> .stepNode.'+node_id+':before {background: url("'+$(divs[k]).data('image')+'");}</style>'); $('head').app

我需要动态地向before:元素添加样式

在我的页面上,我有以下容器

<p class="stepNode 203"></p>

我在页面中动态添加了样式,以设置此元素的背景图像:

  $('head').append('<style> .stepNode.'+node_id+':before {background: url("'+$(divs[k]).data('image')+'");}</style>');
$('head').append('.stepNode.+node_id+'):在{background:url('+$(divs[k]).data('image')+');}之前;
产生:

<style>
 .stepNode.203:before {background: url("http://cdn.sheknows.com/articles/2013/04/Puppy_2.jpg");}
</style>

.stepNode.203:在{背景:url(“http://cdn.sheknows.com/articles/2013/04/Puppy_2.jpg");}
但在检查元素时,此样式从未应用

值得注意的是,当我更改样式以排除数值类时,背景会正确应用:

<style>
 .stepNode:before {background: url("http://cdn.sheknows.com/articles/2013/04/Puppy_2.jpg");}
</style>

.stepNode:在{背景:url(“http://cdn.sheknows.com/articles/2013/04/Puppy_2.jpg");}

有没有办法解决这个问题?如果样式是动态添加的,我需要做些什么来重新应用它吗?

我想不能有整数类!我将我的类名改为步骤203而不是203,并且我能够让我的代码正常工作。

我想你不能有整数类!我将类名改为步骤203而不是203,并且我能够让代码正常工作。

CSS类名不能以数字开头。类
203
-203
无效,但
\u 203
是有效的替代方案。
引述自:

在CSS中,标识符(包括中的元素名、类和ID) 选择器)只能包含字符[a-zA-Z0-9]和ISO 10646 字符U+00A0及以上,加上连字符(-)和下划线 (_); 它们不能以数字、两个连字符或一个连字符开头 后面跟一个数字


CSS类名不能以数字开头。类
203
-203
无效,但
\u 203
是有效的替代方案。
引述自:

在CSS中,标识符(包括中的元素名、类和ID) 选择器)只能包含字符[a-zA-Z0-9]和ISO 10646 字符U+00A0及以上,加上连字符(-)和下划线 (_); 它们不能以数字、两个连字符或一个连字符开头 后面跟一个数字


203不是有效的css类名

类名应以字母开头

所有CSS语法在ASCII范围内不区分大小写(即[a-z] 和[A-Z]是等效的),但不在 控制CSS。例如,属性值的大小写敏感度 HTML属性“id”和“class”、字体名称和URI 不在本规范的范围内。特别注意 元素名称在HTML中不区分大小写,但在XML中区分大小写

在CSS中,标识符(包括中的元素名、类和ID) 选择器)只能包含字符[a-zA-Z0-9]和ISO 10646 字符U+00A0及以上,加上连字符(-)和下划线 (_); 它们不能以数字、两个连字符或后跟一个连字符开头 一位数。标识符还可以包含转义字符和任何 ISO10646字符作为数字代码(见下一项)。例如, 标识符“B&W?”可以写为“B\&W\?”或“B\26 W\3F”

提及

,,
尝试将其更改为
stepNode-203
或类似的
stepNode\u 203

203不是有效的css类名

类名应以字母开头

所有CSS语法在ASCII范围内不区分大小写(即[a-z] 和[A-Z]是等效的),但不在 控制CSS。例如,属性值的大小写敏感度 HTML属性“id”和“class”、字体名称和URI 不在本规范的范围内。特别注意 元素名称在HTML中不区分大小写,但在XML中区分大小写

在CSS中,标识符(包括中的元素名、类和ID) 选择器)只能包含字符[a-zA-Z0-9]和ISO 10646 字符U+00A0及以上,加上连字符(-)和下划线 (_); 它们不能以数字、两个连字符或后跟一个连字符开头 一位数。标识符还可以包含转义字符和任何 ISO10646字符作为数字代码(见下一项)。例如, 标识符“B&W?”可以写为“B\&W\?”或“B\26 W\3F”

提及

,, 尝试将其更改为
stepNode-203
或类似的
stepNode\u 203