jquery - 选择不是最后一个同级的所有最后一个元素

标签 jquery

我的结构类似于以下结构:

<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/

相关文章:

javascript - 在悬停时切换类?

javascript - 根据下拉框选择更新表数据

javascript - 如何在 Javascript 的 P 标签中添加 json 值

javascript - 数据表多选下拉过滤器更新过滤器更改

javascript - 选择了哪个单选按钮?模态结果显示

javascript - 使用 Ratchet 框架切换事件类

javascript - 告诉用户何时返回浏览器历史记录

jquery - 如何更改 Logo 和 slider 之间的高度

jquery 两个函数使用相同的数组变量

jquery - 从 AJAX 调用返回 CFC 查询数据