首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在运行时使用jQuery创建CSS规则/类

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

Stack Overflow用户
提问于 2009-07-31 13:21:06
回答 19查看 189.5K关注 0票数 197

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

代码语言:javascript
复制
#my-window {
    position: fixed;
    z-index: 102;
    display:none;
    top:50%;
    left:50%;
}

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

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

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

EN

回答 19

Stack Overflow用户

发布于 2010-01-16 13:54:11

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

代码语言:javascript
复制
$("<style type='text/css'> .redbold{ color:#f00; font-weight:bold;} </style>").appendTo("head");
$("<div/>").addClass("redbold").text("SOME NEW TEXT").appendTo("body");

在Opera10 FF3.5 iE8 iE6上测试

票数 275
EN

Stack Overflow用户

发布于 2012-04-14 04:29:49

简单地说

代码语言:javascript
复制
$("<style>")
    .prop("type", "text/css")
    .html("\
    #my-window {\
        position: fixed;\
        z-index: 102;\
        display:none;\
        top:50%;\
        left:50%;\
    }")
    .appendTo("head");

注意到后面的斜杠了吗?它们用于连接新行上的字符串。省略它们会产生一个错误。

票数 127
EN

Stack Overflow用户

发布于 2009-07-31 18:52:30

您可以将css应用于对象。因此,您可以在javascript中定义对象,如下所示:

代码语言:javascript
复制
var my_css_class = { backgroundColor : 'blue', color : '#fff' };

然后简单地将它应用于您想要的所有元素

代码语言:javascript
复制
$("#myelement").css(my_css_class);

所以它是可重用的。你这样做的目的是什么呢?

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1212500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档