【问题标题】:how i can replace style with new one using jquery我如何使用 jquery 将样式替换为新样式
【发布时间】:2009-03-12 09:09:08
【问题描述】:

我正在使用 jquery 将 css 下面插入到 head 标记中,但问题是每次我使用用户界面更改颜色时,它都会添加另一种样式,而不是 css,我如何删除已添加并替换为新 css 请帮助。

<style charset="utf-8" type="text/css">div.contentMid2{background:#000;}div.module{background:#fff;}</style>

想在运行时添加几个 css,但替换为已经添加的。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    如果您需要动态更改 css 值 (background-color:VARIABLE),您可以执行以下操作之一:

    • 使用 ajax,您可以请求具有新值的新样式表。之后,将其注入到head 标签中。
    • 每次需要更改时遍历所有 DOM。 $('.someDIv').css()。不过要小心,这种方式可能会消耗大量资源:)

    如果你只需要添加一些静态css,你可以从body添加/删除类:

    $('body').addClass('new')
    

    $('body').addClass('new2')
    

    以及来自 CSS:

    .someClass {background:red}
    body.new .someClass {background:blue}
    body.new2 .someClass {background:green}
    

    【讨论】:

    • 感谢 lonut 我正在做的是更改事件我正在使用 ajax 将 css 属性保存到数据库但要更改布局我正在将新更改或新 css 插入到 head 部分但它会复制,因为布局有 3, 4 个元素,在每个元素更改时,我都在创建 css 如何先删除然后添加新的:(
    • 你不需要删除。只需添加新内容,属性就会被覆盖。无论如何,在刷新时,额外的代码将被删除。所以不会产生丑陋的东西:)
    • 我认为你可以给
    【解决方案2】:

    $('div.contentMid2').css({background:'#000'})

    【讨论】:

    • 我猜他想在不遍历所有 dom 的情况下从该页面更改所有 css :)
    猜你喜欢
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 2017-03-13
    • 2016-12-09
    • 2011-12-12
    • 2016-06-01
    • 2021-04-07
    相关资源
    最近更新 更多