我正在尝试构建一个具有手风琴风格功能的 HTML 页面。首先,我有这个简单的 CSS 选择器,说明“如果 H1 紧跟在另一个 H1 之后,则将背景设为红色”。
<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>
所有的 H1 看起来都应该,没有一个有红色背景,因为它们前面有一个 P 标签。
为了这:
<h1>First</h1>
<h1>Second</h1>
<p>Blah, blah...</p>
<h1>Third</h1>
<p>Blah, blah...</p>
第二个 H1 有红色背景,因为它和前一个 H1 之间的 P 标签被删除了。非常好。
现在,我真正想做的是以编程方式隐藏 H1 下方的“内容”,然后我希望看到红色规则生效。像这样:
<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规则不适用于第三个H1,也没有红色背景。
问题:有没有办法使用 JavaScript 将某些东西应用到 P 标签上,这会导致它们(暂时)被 CSS 规则忽略?