0

私はhtml+css+javascriptアプリケーションを持っています。テーマを有効にできるようにしたい。

すべてのCSSは、/ theme1/...と/theme2/..の2つのフォルダーに複製されます。

したがって、私のhtmlは次のようになります。

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

cssのホームフォルダ(theme1からtheme2)をjavascriptで変更できるようにしたい。

何か案は?

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 に答える