【问题标题】:Changing a stylesheet using jQuery使用 jQuery 更改样式表
【发布时间】:2014-08-27 03:59:10
【问题描述】:

如何在 html 的 div 标签中使用 jquery 更改样式表?或者更改样式表的jquery代码是什么?

在 javascript 中,我们使用以下代码:

<script type="text/javascript">
 function changeStyle() {
 document.getElementById('stylesheet').href = 'design4.css';
 }
</script>

有 jQuery 方式吗?

【问题讨论】:

  • 使用技术术语将有助于我们大多数人更好地理解您的问题。

标签: jquery stylesheet


【解决方案1】:

有更好的方法来做你所要求的,但如果你真的想用 jquery 删除和添加一个远程样式表,你可以这样做:

$('link[href^=old_css_file.css]').attr('href', '/path_to_new_css/file.css');

详细了解^= attribute selectorattr() function

【讨论】:

    【解决方案2】:

    要更新完整的主题,最好加载一个新的 CSS 文件。在服务器端最容易完成,但如果您坚持动态加载:

    // Don't know jQuery, this is regular JS:
    var newCss = document.createElement('link');
    
    newCss.rel = 'stylesheet';
    newCss.type = 'text/css';
    newCss.href = '/path/to/new/cssfile.css';
    
    document.body.appendChild(newCss);
    

    【讨论】:

      【解决方案3】:
      document.getElementById('stylesheet').href = 'design4.css';
      

      使用 jQuery:

      $("#styleshhet").attr('href', 'design4.css');
      

      【讨论】:

        【解决方案4】:

        我使用此代码来启用或禁用基于页面的样式表。

         $(document).on('pagebeforeshow', function () {
                var URL = $.mobile.path.parseUrl(window.location).toString().toLowerCase();
        
                if (URL.indexOf("/investment.aspx") > -1 ||
                    URL.indexOf("/employees.aspx") > -1) {
                    $("link[href^='../../Public/LongLabels.css']").attr("media", "all");
                }
                else {
                    $("link[href^='../../Public/LongLabels.css']").attr("media", "not all");
                }
            });
        

        【讨论】:

          猜你喜欢
          • 2013-07-20
          • 1970-01-01
          • 2017-08-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多