假设你有这个 HTML:
<h1>Header 1</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<h1>Header 1</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<h1>Header 1</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
请注意,层次结构是扁平的。
现在尝试选择<p>
元素的“中间对”。这可能吗?我实在想不通怎么做。
此选择器仅抓取<p>
以下的第一个<h1>
:
h1:nth-of-type(2) + p
但是这个选择器会抓取正确的<p>
元素对以及出现在我们想要的对之后的所有以下<p>
元素:
h1:nth-of-type(2) ~ p
可能吗?
没有 JavaScript。没有标记更改。通用解决方案。允许任意数量的<h1>
s 或<p>
s,在这种情况下,数字 2 是任意的。
我在想也许这可以使用一些使用:not()
选择器,但我似乎无法弄清楚。有点像选择“一般兄弟姐妹”,然后根据需要排除,或类似的东西。