我正在遇到这种情况。基本上我的网站有很多css模板,用户可以使用jQuery动态更改颜色。现在,我这样做的方法是使用jQuery直接通过选择类来修改css属性。但是,如果用户切换到另一个模板(也是动态的),我会插入.css文件,但它没有任何效果。原因是每个元素的css change style =“..”都是先例。如何解决这个问题?我正在考虑两种方式:
任何人都可以向我展示一下吗?感谢。
答案 0 :(得分:6)
如果您只想从一组元素中删除style属性,可以使用:
$('p').removeAttr('style');
只需将'p'替换为要从中删除内联CSS的所有元素,例如:
$('input, div, h1').removeAttr('style');
希望这有帮助。
答案 1 :(得分:3)
在使用jQuery从原始样式切换样式之前,为什么不将原始样式值分配给该元素上的数据,然后使用该值恢复它。
因此,例如,假设您正在使用类“foo”更改元素的css字体系列:
申请新的css:
var orig = $(".foo").css('font-family');
$(".foo").data('origFont', orig);
$(".foo").css('font-family', 'Arial');
要恢复css:
var orig = $(".foo").data('origFont');
$(".foo").css('font-family', orig);
答案 2 :(得分:0)
在编辑器中使用此正则表达式删除所有内联CSS:
style="[^"]*"
答案 3 :(得分:0)
我只是遇到了同样的问题,但是我认为最好的解决方案是使用jquery的add和remove类。 每个模板都应该有一个类,然后对其进行更改,请使用remove类并添加所需的类