0

我有一个 html + css + javascript 应用程序。我希望能够启用主题。

我所有的 CSS 都复制在两个文件夹中:/theme1/... 和 /theme2/...

所以我的html看起来像:

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="theme1/file1.css"/> 
        <link rel="stylesheet" href="theme1/file2.css"/> 
         .... 
         ....
    </head>
    <body>  
    .....
    </body>
</html>

我希望能够使用 javascript 更改 css 的主文件夹(主题 1 到主题 2)。

有任何想法吗?

4

2 回答 2

0
<link id="foo" rel="stylesheet" href="theme1/file1.css"/> 

当您想更改主题时:

document.getElementById('foo').href = 'theme1/file2.css';
于 2012-06-21T14:12:05.217 回答
0

这是解决问题所需的:

  • 获取相关标签。在这种情况下,任何link带有 的标签rel="stylesheet"都可以,但如果您愿意,您甚至可以指定“以”开头theme1。这一切都可以用document.querySelectorAll("link[rel=stylesheet][href^=theme1]")
  • 循环通过它们。一个简单的for循环就可以了。
  • getAttribute("href")得到你需要的字符串。
  • replace()将允许您替换所需的字符串部分。
  • setAttribute("href",newattr)会将属性放回标签中。
于 2012-06-21T14:13:30.050 回答