【问题标题】:Append css code to <style>将 css 代码附加到 <style>
【发布时间】:2013-08-02 14:06:58
【问题描述】:

我正在尝试将 css 代码附加到 &lt;style&gt;

我已经有&lt;style&gt;,其中有id,比如&lt;style id="custom-css"&gt;,我想在单击按钮时附加更多样式。

$('.btn').click(function(){
    $('.class{background:#aaa;}').appendTo('custom-css');
});

【问题讨论】:

  • 那不行,你要添加文本并将其视为元素?
  • 是的,我知道这行不通,我只是举个例子。
  • 无论你认为你需要这个做什么,都不要。如果你需要编辑
  • 您在寻找这样的东西吗? stackoverflow.com/questions/4232557/…
  • 有可能:jsfiddle.net/grr7j - 但是,正如其他人所说,最好不要走这条路。尝试使用.css() 直接应用样式。

标签: jquery


【解决方案1】:

不知道您为什么需要这样做,因为您似乎可以通过提前设置规则并添加和删除另一个类来打开和关闭它,但是:

$('#custom-css').append('.class{background:#aaa;}');

更好的方法是提前设置规则:

<style>
.class {background:none;}
.class.toggleOn {background:#aaa;}


</style>

然后是一些类似的脚本

$('.class').someEvent(function(){
    $(this).toggleClass('toggleOn');
});

【讨论】:

    【解决方案2】:

    可以这样做:

    $('#custom-css').html(function (i, m) {
        return m+'.class{background:#aaa;}';
    });
    

    HTML:

    <style id="custom-css">
        .class-1{background:#aaa;}
    </style>
    <div class="class-1">HDUYD7DY</div>
    <div class="class">F8HR</div>
    

    演示:http://jsfiddle.net/grr7j/

    但是,我建议不要使用这种方法,而是使用:

    $('.class').css('background', '#aaa');
    

    在不知道该风格的情况下,很难推荐一个真正的替代品。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-16
      • 2016-11-26
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多