Javascript Can';t编辑:before,:after的css样式?
我有这种款式:Javascript Can';t编辑:before,:after的css样式?,javascript,jquery,css,Javascript,Jquery,Css,我有这种款式: section.tipos .content > div:before { background: none repeat scroll 0 0 #DDDDDD; content: " "; height: 10px; left: 32%; position: absolute; top: -10px; width: 10px; } 这很好 但是,当发生某些事件时,我希望将左属性更改为另一个% 我知道这可以通过使用类
section.tipos .content > div:before {
background: none repeat scroll 0 0 #DDDDDD;
content: " ";
height: 10px;
left: 32%;
position: absolute;
top: -10px;
width: 10px;
}
这很好
但是,当发生某些事件时,我希望将左属性更改为另一个%
我知道这可以通过使用类名或样式来实现(当然)。但是我的老板不太喜欢这些类名,除非它们是100%需要的
问题是:我可以从javascript更改伪选择器的css吗?类似这样的东西(但那是有效的)
尝试将“%”附加到css样式值:
$('section.tipos .content > div:before').css({ 'left' : 50+index*17 + '%'});
不,你不能那样做。
:before
和:after
伪元素在Javascript代码中不可用
最好的解决方法是使用Javascript更改主元素的类,并根据伪元素的类为:before
使用单独的CSS代码
然后您可以使用如下CSS代码:
section.tipos .content > div.newClass:before {
....
}
但是,我注意到您希望将宽度设置为计算值;使用上述技术可能会很棘手。可能会有所帮助,具体取决于使用的
索引
,以及您需要的浏览器支持级别。不幸的是,您需要解决此问题,例如为元素添加新的
,并设置!重要信息
section.tipos .content > div.newClass:before {
....
}