Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery替换样式标记中动态添加的css_Jquery - Fatal编程技术网

jQuery替换样式标记中动态添加的css

jQuery替换样式标记中动态添加的css,jquery,Jquery,我正在向样式标记添加css,如下所示: $("<style>").text(".out { background-color:#" + color + " !important; }").appendTo("head"); $(“”)文本(“.out{background color:#“+color+”!important;}”).appendTo(“head”); 是否可以在每次不创建新定义的情况下替换.out的内容?除非必要,否则最好避免这样做。动态颜色是一个很好的理由,不

我正在向样式标记添加css,如下所示:

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

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

除非必要,否则最好避免这样做。动态颜色是一个很好的理由,不过如果您可以只使用
.css()
方法,那就更好了

不管怎么说,以下是方法:

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

<style class='current-color'>.out { background-color:#000 !important; }</style>
小演示(代码不同):

为了简化,可以使用
toCSS
方法将所有内容存储在对象中。比如:

var class = { selector:'.out',
              attr:[ {background-color:'#000'},
                     {otherattr:'otherval'}]};
另一种方式 还可以使用动态创建的样式表和

不过我不熟悉这种方式


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

不能使用
.css()
它不会应用于应用样式后添加的动态添加元素:/通常最好不要在JS中定义css类。通常您只需使用
.addClass()
并将已定义的类添加到元素中。该类的内容是颜色,我希望用户可以更改这些颜色,因此我无法预定义它们,因为它们可以是任何颜色:/我认为浏览器不会重新加载css定义,即使您找到了可行的解决方案。。但是我可能错了,所以创建一个类集合来匹配您的颜色选项,并用jQuery更改它们。如果它们太多,则创建一个类,并使用jQuery为具有该类的元素设置元素样式。你的方法是不必要的麻烦(也许是不可能的)。真棒的解决方案!非常感谢!!
var class = { selector:'.out',
              attr:[ {background-color:'#000'},
                     {otherattr:'otherval'}]};