我的结构类似于以下结构:
with open("./testconf") as configs:
for config in configs:
if config.startswith("#"):
continue
keyword, value = config.split("=")
我想在类<p>
<span class="top">1</span>
<span class="top">2</span>
<span>3</span>
</p>
<p>
<span class="top">4</span>
<span class="top">5</span>
</p>
<p>
<span class="top">6<span>
<span>7</span>
<span>8</span>
</p>
的最后<span>
附加一些内容,但前提是它不是段落中的最后一个元素。换句话说,应该有另一个top
没有类span
作为它之后的兄弟。
结果应该是元素2和6被改变,其他top
不是最后一个或没有以下项目。
我尝试了以下操作,但它不起作用:
span
答案 0 :(得分:2)
您可以通过以下方式获得此结果:
$("span.top+:not(.top)").prev()
“使用类<span>
查找.top
,然后选择以下元素,前提是它没有.top
;检索匹配元素的上一个兄弟”
所以这与1或4不匹配,因为+:not(.top)
失败(下一个兄弟有.top
)。它不会匹配5,因为没有下一个兄弟检查.top
或不。它不会匹配3,7,8,因为它们没有.top
开头。只留下2和6。
答案 1 :(得分:2)
$("p").each(function() {
if($(this).find("span.top:last").next().is("span")) {
$(this).find("span.top:last").append("...");
}
})