jQuery替换了style-tag中动态添加的css

时间:2014-11-13 18:59:51

标签: jquery

我将css添加到样式标记中,如下所示:

$("<style>").text(".out { background-color:#" + color + " !important; }").appendTo("head");

是否可以在不创建新定义的情况下替换.out的内容?

1 个答案:

答案 0 :(得分:1)

除非必要,否则最好避免这种情况。动态颜色是一个很好的理由,但是如果你可以使用.css()方法,那就更好了。

无论如何,这里有:

通过向其添加类名来选择样式元素:

<style class='current-color'>.out { background-color:#000 !important; }</style>

然后选择它:

$('.current-color').text(".out { background-color:#" + color + " !important; }");

小演示(不是相同的代码):http://jsfiddle.net/p0tavns5/3/

为了简化操作,请使用toCSS方法将所有内容存储在对象中。类似的东西:

var class = { selector:'.out',
              attr:[ {background-color:'#000'},
                     {otherattr:'otherval'}]};

另一种方式

您还可以使用动态创建的样式表和CSSStyleSheet.insertRule()

我虽然不熟悉这种方式。

阅读该链接,这看起来并不太难。