私はこれを取り除こうとしています:
document.body.className = "someclass";
これをCSSで実行したいと思います。
body.someclass {
.
.
.
}
残念ながら、Firefox、chromeではこれを機能させることができません。
私はここで何か間違ったことをしていますか? CSSクラスをbodyに適用する方法はありますか?
あなたはそこで2つの異なることをしています。 JavaScriptは実際にはクラス「someclass」をbody要素に割り当てていますが、CSSはstylingクラス「someclass」のbody要素ですが、クラスは割り当てられません。 CSSのタスク。あなたはこのようにプレーンな(X)HTMLでそれをします:
<body class="someclass">
問題の一部は、有効なXHTMLがドキュメントごとに1つの<body>
要素しか持てないことです。クラスは通常、複数回発生する要素(または、複数回適用するスタイル)に起因します。
ボディは1つしかないため、IDやクラスを追加したことはありません。ただのスタイル:
body {
background-color: red;
}
再利用したいクラスがある場合は、セレクターでコンマを使用します。
.coolStyle, body {
font-weight: bold;
color: red;
text-decoration: blink;
}
ただし、<body>
タグに適用されたものはすべて、明示的にスタイル設定されていない限り、その子に継承されるため、これはすべて潜在的に無意味です。
ドキュメントには本文が1つしかないため、本文に関するクラスは必要ありません。なんらかの理由でJavaScriptクラスで変更して本文のスタイルを変更したい場合を除きます。
体にクラスを配置する必要がある場合は、次のようにします。
<body class="someclass">
次に、クラスにアクセスして、cssのスタイルを次のように変更します。
body.someclass{
...(style parameters goes here)
}
ただし、タグのすべての要素のスタイルを変更できます。本文は1つしかないため、これをcssに追加するだけで済みます。
body{
...(style parameters)
}
そして、htmlには何も追加しないでください。ただし、繰り返し発生するタグでは、ページで1回だけ使用されるスタイルにはclassを使用し、スタイルにはidを使用します。 HTMLで次のようなタグにIDを割り当てます。
<tag id="someid">