使用jQuery从原始css文件中获取值

时间:2009-09-30 06:22:53

标签: javascript jquery html css stylesheet

我正在遇到这种情况。基本上我的网站有很多css模板,用户可以使用jQuery动态更改颜色。现在,我这样做的方法是使用jQuery直接通过选择类来修改css属性。但是,如果用户切换到另一个模板(也是动态的),我会插入.css文件,但它没有任何效果。原因是每个元素的css change style =“..”都是先例。如何解决这个问题?我正在考虑两种方式:

  1. 在每个元素中删除style =“...”。但是怎么做呢?
  2. 直接从.css文件中获取值,并再次将每个元素指定为style =“...”
  3. 任何人都可以向我展示一下吗?感谢。

4 个答案:

答案 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类并添加所需的类