javascript - 避免包含特定类元素的最后一个元素的样式

标签 javascript jquery html css

我有以下层次结构,它在几个地方使用(因此通过 jQuery 向它们添加一个类是不可行的)。

<li class="paginable">
    <span id="step-1" class="done"></span>
</li>

<li class="paginable">
    <span id="step-2" class="done"></span>
</li>

<li class="paginable">
    <span id="step-3" class="done"></span>
</li>

<li class="paginable">
    <span id="step-4" class="not-done"></span>
</li>

<li class="paginable">
    <span id="step-5" class="not-done"></span>
</li>

基于元素 span 上的 done 类,我必须为那些 span[id^="step-"] 也有 done 类。

但不包括类 done 的最后一个 span

如何排除类为done 的最后一个spandonenot-dont 类按一系列步骤的顺序更改。

我试过: span[id^="step-"].done:not(-- 父级和子级的最后一个子级有很多组合 --)

但它行不通,我从逻辑上知道这是为什么。

有什么建议吗仅限 CSS?还是我应该在使用 jQuery 切换的任何地方添加类?

最佳答案

我认为没有可用的纯 CSS 解决方案。

使用jQuery

$('span.done[id^="step-"]').not(':last').css('color', 'red')

演示:Fiddle

关于javascript - 避免包含特定类元素的最后一个元素的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587221/

相关文章:

javascript - 使用 three.js 将 2D 旋转到 3D

javascript - jquery :last-child did not work properly

javascript - 使用 JavaScript 在鼠标光标移动时获取焦点元素

html - Bootstrap 按钮组折叠

jquery - 选择第一个下拉菜单并聚焦

html - 由于社交媒体图标无法居中标题?

javascript - Javascript RegEx 查询

javascript - 传单不连贯地绘制瓷砖

javascript - 描述变量的对象属性

jquery - Highchart - 线条或区域不从左侧点开始