2013-10-16 49 views
0

我试图编辑样式标签中的一些样式。有没有办法从样式中获取特定的选择器来修改?举例来说,如果我有:使用jQuery编辑样式标签

<style> 
    h1 { 
    background-color: red; 
    } 
</style> 

我想将背景颜色更改为#123456是否有方法使用jquery更改它?或者我必须编写一些函数来处理$(“style”)。text(); ?

+0

为什么不直接编辑CSS代码?如果您需要以编程方式执行此操作,请向该元素添加一个类。 –

+0

'$('h1').css('background-color','green')' –

+0

不适用于我。我需要编辑样式标记的内容,而不是覆盖CSS规则。 – shadox

回答

5

这会工作,只要页面没有发生变化后,其装:

$(function() { 
    $("h1").css("background-color":"#123456"); 
}); 

如果你真的真的想要编辑的风格,那么也许是这样的:

$(function() { 
    $("style").each(function(){ 
    $(this).html($(this).html().replace("background-color: red","background-color: #123456"); 
    }); 

}); 

但这对我来说似乎是一个非常糟糕的主意。

+0

不应该从某个事件调用函数而不是准备好吗? – Liam

+0

也许不是OP不是非常具体。 +1 – Liam

+0

好点,没有想到这一点,虽然相当微不足道的改变我的例子函数调用。 –

2

您不使用jQuery来访问CSS定义,而是使用它来访问DOM元素并直接更改样式。

$('h1').css('background-color', '#123456'); 

http://api.jquery.com/css/

+0

+1用于参考文档。 – Liam

+0

这不是我要找的。正如我在问题中所说的,我必须在风格标签内改变它。 – shadox

0

类似定义CSS jQuery中

$('h1').css('background-color', 'red'); 

您可以在任何需要的功能事件扭曲起来。

像文件准备

$(document).ready(function(){ 
    $('h1').css('background-color', 'red'); 
}) 

或可能像喜欢点击一些其他自定义功能,悬停,选择等

$(function() { 
    $("h1").css("background-color":"red"); 
}); 
+0

不会这样做,它只会修改h1样式属性。 – shadox