0

如果页面中存在某个 css 类,我需要添加一个 css 样式表。

即编辑以下JS:

<script>
<!--
function getStylesheet() {
      var currentTime = new Date().getHours();
      if (0 <= currentTime&&currentTime < 5) {
       document.write("<link rel='stylesheet' href='night.css' type='text/css'>");
      }
      if (5 <= currentTime&&currentTime < 11) {
       document.write("<link rel='stylesheet' href='morning.css' type='text/css'>");
      }
      if (11 <= currentTime&&currentTime < 16) {
       document.write("<link rel='stylesheet' href='day.css' type='text/css'>");
      }
      if (16 <= currentTime&&currentTime < 22) {
       document.write("<link rel='stylesheet' href='evening.css' type='text/css'>");
      }
}

getStylesheet();
-->
</script>

如果页面中存在 certian 类,我需要添加一个 css 文件而不是上述时间 - 即

如果 class="company" - 使用 company.css

if class="contact" - 使用contact.css

if class="enterprise" - 使用 enterprise.css

如果 class="media" - 使用 media.css

我该怎么做?

4

3 回答 3

1

如果可以使用 jQuery,则可以使用以下方法确定页面上是否存在类:

if ($('.class').length){
    // code
}

代替.class您尝试查看的任何课程(如果存在)。

所以:

if ($('.company').length){
    document.write("<link rel='stylesheet' href='company.css' type='text/css'>");
}
if ($('.contact').length){
    document.write("<link rel='stylesheet' href='contact.css' type='text/css'>");
}
etc...
于 2013-07-21T17:20:13.470 回答
0

如果您使用的是 jQuery,无论如何我推荐:

var myTypes = ['company', 'contact', 'enterprise', 'media'];
for (i in myTypes) {
    if ($('.' + myTypes[i]).length) {
        loadMyCSS(myTypes[i])
        break;
    }
}
于 2013-07-21T17:18:59.900 回答
0

你不应该这样做。它没有任何好处。只需将其全部保存在一个样式表中,然后根据<body>or上的类更改页面上的样式<html>。这是一个简单的例子。

<body class="page-company">

然后做

.page-company h1 { }

等等。

于 2013-07-21T17:19:05.007 回答