2

我已经阅读了它,似乎使用 jQuery 添加样式表的最佳方法如下:

 $('head').append('<link rel="stylesheet" type="text/css" href="../css/mystyle.css">');

现在我想做的是使用这种方法在不同的主题之间切换:

<script type="text/javascript">
      $(document).ready(function () {
          if($('body').hasClass('pink'))
          {
              $('head').append('<link rel="stylesheet" type="text/css" href="../css/mystylePink.css">');
          }
          else
          {
              $('head').append('<link rel="stylesheet" type="text/css" href="../css/mystyle.css">');
          }
      });
</script>

我的问题:除了没有启用 javascript 的表单用户,加载这样的样式表时存在哪些并发症/问题?IE?移动浏览器?因为我实际上想在移动网站上使用它......

4

2 回答 2

2

这里的主要问题是样式表加载时无样式内容的闪烁,而不是 IE 或移动浏览器。

我建议您使用 CSS 预处理器(SASS、LESS),并仅使用一个样式表与您的正常样式,然后用.pink下面的类覆盖。

.myClass{
  color: white;
  background: black;
}

.pink .myClass{
  color: pink;
  background: grey;
}
于 2013-03-25T13:15:42.377 回答
1

此方法不适用于 IE8 及以下版本。

您必须使用另一种方法,例如 IEss document.createStyleSheet() 方法。

有关更多信息,请参阅此讨论:我可以根据请求加载外部样式表吗?

于 2013-03-25T13:16:20.910 回答