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