今日は、JS の setAttribute メソッドを使用して 1 つのページに 2 つのスタイルシートを実装する場合の効果を調べました。 具体的な方法は次のとおりです。 ステップ 1: など、スタイルシートを接続する要素に id を定義します。 コードをコピー コードは次のとおりです: 定義したidはcssです。 ステップ 2: js 関数を作成します。コードは次のとおりです。 コードをコピーします コードは次のとおりです。 <br>function change(a){ <br>var css=document.getElementById(“css”); a==1) <br>css.setAttribute("href","1.css"); <br>if (a==2) <br>css.setAttribute("href","2.css") ; <br>} <br> この関数のコードはページ上のどこにでも配置できます。 ステップ 3: ページのスタイル シートを変更するための接続の関数トリガー イベントを追加します。コードは次のとおりです: コードをコピーします コードは次のとおりです。 1.css ;a href=”#” onClick =”change(2)”>2.css この効果は IE と FF の両方でテストされているので、誰でも理解できると思います。この方法を使用すると、たとえば、高齢者がより大きなフォントのスタイルシートを選択できるようになります。ここで注意すべき点は 2 つあります。 この例では、関数名の後の名前がリンクまたはリンクであることはできません。具体的な理由はわかりません。もしかしたらJavaScriptの予約文字かもしれません。 さらに、ページ全体のスタイルを変更したい場合は、スタイルシートファイルで本文の高さを 100% として定義する必要があります。方法 2: ステップ 1: 2 つをインポートします。 CSS ファイルのセット コードをコピー コードは次のとおりです: 次のように: </div>var title = "スタイル A"; <br>function setStyle(){ <br><div class="codetitle">// スタイル A とスタイル B を切り替えるだけです <span>if(title=="スタイル A"){ <a style="CURSOR: pointer" data="25133" class="copybut" id="copybut25133" onclick="doCopy('code25133')">title = "スタイル B" <u>; }else{ </u>title = "Style A"; </a> } </span> </div>var i,links; <div class="codebody" id="code25133">//dom メソッドを使用してすべてのリンク要素を取得します <br>links = document.getElementsByTagName( "link"); <br>//各リンク要素にスタイル文字列が含まれているかどうかを判断して、リンク要素がスタイルシートリンクであるかどうか、およびリンクにタイトル属性が含まれているかどうかを判断します<br>for(i=0; links[i ]; i ){ <br>if(links[i] .getAttribute("rel").indexOf("style") != -1 && links[i].getAttribute("title")){ <br>/ /すべてのリンクを無効に設定します <br>links[i] .disabled = true; <br>//次に、タイトルに指定されたタイトル文字列があるかどうかを判断し、存在する場合は、現在のリンクを表示に設定し、アクティブにします。 <br>if(links[i].getAttribute("title ").indexOf(title) != -1){ <br>links[i].disabled = false <br>//alert("ok") ; <br>} <br><br>} <br>} <br>} <br> ステップ 3: HTML タグ コードをコピー コードは次のとおりです: 1 2 onclick="setStyle();">3 4 #" onclick="setStyle();">5