-1

1 つのウィンドウから完全に実行する必要がある Web サイトを構築しています。別のページをロードすることはできません。そのため、画面に表示されるコンテンツを入れ替えるために多くの JS を使用していますが、実際にはうまく機能しています。ただし、適切なセレクターが不足しているため、スタイルシートが過度に長くなりたくないのです。だから、私は疑問に思っています: にdiv設定されているスタイルシートの中に配置することでスタイルシートを無効にすることは可能display:noneですか?

例えば:

<div style="display:none;">
    <style type="text/css">
        #my_image{
            height:100px;
            background-color:red;
        }
    </style>
</div>
<style type="text/css">
    #my_image{
        height:30px;
    }
</style>

このシナリオでは、これらのうちどれが当てはまりますか? 両方がロードされている場合、2番目が最新のものになるので、それが読み込まれることを知っています。しかしdiv、最初からまったく着色されていないとしましょう。このスクリプトを実行すると赤くなりますか?

これがスタイルを無効にする実行可能な解決策でない場合は、その方法を教えてください。

4

1 に答える 1

0

理想的には、「テーマ」ごとに個別のスタイルシートを使用する必要があります。

次に、実行時に正しいスタイルシートのみをロードするか、次のようにします。

  • javascript を使用して、head 内の css リンク要素を作成/破棄します
  • javascript を使用して、body タグ「red」または「blue」などにクラスを追加します。次に、テーマのすべてのセレクターをそのクラス名で開始します。

    .blue .header { 背景: 赤; }

于 2013-08-12T16:23:55.890 に答える