私は、アコーディオンスタイルの機能を備えたHTMLページを作成しようとしています。最初に、私はこの単純なCSSセレクタを持っています。「H1が別のH1の直後にある場合は、背景を赤にします。CSSセレクタルールの要素を非表示にする
<style type="text/css">
h1 + h1
{
background-color: red;
}
</style>
はその後、いくつかの単純なHTML:彼らが必要のよう
<h1>First</h1>
<p>Blah, blah...</p>
<h1>Second</h1>
<p>Blah, blah...</p>
<h1>Third</h1>
<p>Blah, blah...</p>
すべてH1Sが見える彼らはPタグが付け加えているので、どれも、赤の背景を持っていません。
<h1>First</h1>
<h1>Second</h1>
<p>Blah, blah...</p>
<h1>Third</h1>
<p>Blah, blah...</p>
それと前H1との間のPタグが除去されるので、第二のH1は、赤い背景を有する。このため
。非常に素晴らしい。
さて、私は実際にがやりたいどのプログラムでH1S以下「コンテンツ」を非表示にすると、私は赤・ルールのキックを見たいです。このように:。
<h1>First</h1>
<p>Blah, blah...</p>
<h1>Second</h1>
<p style="display: none">Blah, blah...</p>
<h1>Third</h1>
<p>Hello world...</p>
しかし、 Pタグはまだそこにあるので、CSSルールは3番目のH1には適用されず、赤い背景もありません。
質問:CSSルールによって(一時的に)無視されるPタグにJavaScriptを使用して何かを適用する方法はありますか?
なぜ '* [クラス〜= '隠された'] + h1'と'.hidden + h1'ではなく? – BoltClock
ええ、私は少し後でそのことを理解しました。サンプルを更新しました。ありがとう。 :) –