当前位置:  开发笔记 > 编程语言 > 正文

在运行时使用jQuery创建CSS规则/类

如何解决《在运行时使用jQuery创建CSS规则/类》经验,为你挑选了9个好方法。

通常我有一个CSS文件,它有以下规则:

#my-window {
    position: fixed;
    z-index: 102;
    display:none;
    top:50%;
    left:50%;
}

如何通过在运行时操作期间将CSS信息添加到正文或类似的东西来避免创建这样的静态CSS文件?(仅使用jQuery)

我想用jQuery定义一次,然后多次使用它; 这就是为什么我不想每次都将它添加到特定的DOM元素.

我知道简单的功能(css("attr1", "value");),但是如何创建完整的可重用CSS规则?



1> 小智..:

您可以创建样式元素并将其插入DOM

$("").appendTo("head");
$("
").addClass("redbold").text("SOME NEW TEXT").appendTo("body");

在Opera10 FF3.5 iE8 iE6上测试


在IE9中,页面中只有31种样式 - http://blogs.msdn.com/b/ieinternals/archive/2011/05/14/internet-explorer-stylesheet-rule-selector-import-sheet-limit-maximum的.aspx

2> Shadrack B. ..:

只是

$("").appendTo("head");

cssrules.append(".redbold{ color:#f00; font-weight:bold;}"); 
cssrules.append(".newfont {font-family: arial;}"); 
target.addClass("redbold newfont");     
}       

这种方法的优点是您可以在代码中重用可变的cssrules来随意添加或减少规则。如果cssrules嵌入在诸如jQuery小部件之类的持久对象中,则可以使用一个持久局部变量。



9> Craig..:

请注意,jQuery().css()不会更改样式表规则,它只是更改每个匹配元素的样式.

相反,这是我写的一个javascript函数来修改样式表规则本身.

    /**
     * Modify an existing stylesheet.
     * - sheetId - the id of the  or 
    
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有