这是一个棘手的情况:
#target ~ p {
background: green;
color: white;
}
<h1 id="target">Title</h1>
<span>Some description</span>
<p>Yes</p>
<p>Yes</p>
<h1>Another Title</h1>
<span>Some description</span>
<p>No</p>
<p>No</p>
xpath是否允许选择同级但停在某个点?我想<p>
在第一个下选择两个,<h1>
而不是第二个下一个<h1>
。修改HTML是不可能的,因为我正在做一些Web抓取,并且我正在寻找一种快速而又肮脏的方法来从某个标题下的段落中提取数据:
paragraphs = target.select("~ p")
试试这个:
#target ~ p:not(:nth-last-of-type(-n+2)) {
background: green;
color: white;
}
<h1 id="target">Title</h1>
<span>Some description</span>
<p>Yes</p>
<p>Yes</p>
<h1>Another Title</h1>
<span>Some description</span>
<p>No</p>
<p>No</p>
要么
#target + span + p,
#target + span + p + p {
background: green;
color: white;
}
<h1 id="target">Title</h1>
<span>Some description</span>
<p>Yes</p>
<p>Yes</p>
<h1>Another Title</h1>
<span>Some description</span>
<p>No</p>
<p>No</p>
要么
#target ~ p:nth-of-type(1),
#target ~ p:nth-of-type(2) {
background: green;
color: white;
}
<h1 id="target">Title</h1>
<span>Some description</span>
<p>Yes</p>
<p>Yes</p>
<h1>Another Title</h1>
<span>Some description</span>
<p>No</p>
<p>No</p>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句