我的结构类似于以下结构:
<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
无课 top
作为 sibling 之后。
结果应该是元素2和6被改变,其他span
s 要么不是最后一个,要么没有后续项目。
我尝试了以下方法,但没有成功:
$('span.top:last-child').not('span:last-of-type').append('...');
最佳答案
您可以通过以下方式获得此结果:
$("span.top+:not(.top)").prev()
“查找 <span>
类 .top
,然后选择以下元素(如果它不包含 .top
;检索匹配元素的上一个同级元素”
所以这不会匹配 1 或 4,因为 +:not(.top)
失败(下一个兄弟有 .top
)。它不会匹配 5,因为没有下一个要检查的兄弟 .top
或不。它不会匹配 3、7、8,因为它们没有 .top
首先。只剩下 2 和 6。
关于jquery - 选择不是最后一个同级的所有最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43951549/