2012-06-21 44 views
0

我有一個html + css + javascript應用程序。 我希望能夠啓用主題。從javascript更改css文件夾

我所有的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

很多。 [你有什麼嘗試?](http://whathaveyoutried.com/) –

回答

0

這裏是你將需要解決什麼問題:

  • 獲取相關的變量。在這種情況下,任何link標記可能會用rel="stylesheet",但如果需要,甚至可以指定「從theme1開始」。這可以全部通過document.querySelectorAll("link[rel=stylesheet][href^=theme1]")
  • 循環通過它們。一個簡單的for循環將會很好地完成。
  • getAttribute("href")獲取您需要的字符串。
  • replace()將允許你替換你想要的字符串部分。
  • setAttribute("href",newattr)將把屬性放回標籤。
0
<link id="foo" rel="stylesheet" href="theme1/file1.css"/> 

當你要更改的主題:

document.getElementById('foo').href = 'theme1/file2.css'; 
+0

這改變了一個文件。其他人呢? –

+0

_「我希望能夠改變使用JavaScript的主文件夾的CSS(主題1到主題2)。」_我根本不理解你的評論。 – gdoron

+0

對於初學者來說,問題中有兩個'link'標籤需要改變,'....'表示可能會有更多。其次,你將'file1'改爲'file2',而不是'theme1'改爲'theme2'。 –