jquery - 使用 jquery 查找 <ul> 中的最后一行并应用一个类

标签 jquery css css-selectors

我的无序列表 float 每个元素,以便 3 个元素出现在一行上。

我需要对元素的底线应用某种样式。我当前正在使用::nth-child 伪类,但问题在于其中一些列表的最后一行有 1、2 或 3 个元素。

如何让 jquery 找出哪些元素位于最后一行,并应用一个类,以便我可以对这些元素应用特定的样式?

最佳答案

不确定这是否是最佳解决方案,但这里有一个使用 mod 运算符来查找最后一行中的数字的解决方案:

http://jsfiddle.net/V8edM/

$('ul').each(function () {
    var $lis = $('li', this);
    var count = $lis.length;

    if (count < 4) {
        $lis.addClass('last-row');

    } else {
        var numberInLastRow = count % 3 || 3;
        $lis.eq(-1 * numberInLastRow - 1).nextAll().addClass('last-row');

    }
});

编辑 - 更新为少于 4 项。

关于jquery - 使用 jquery 查找 <ul> 中的最后一行并应用一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19776134/

相关文章:

Jquery 数组中的第 n 个子级选择器

javascript - 使用 JQuery 提交表单

javascript - 模拟退格键功能到向上箭头键事件?

javascript - 使用 jquerymobile/phonegap 执行事件和处理事件之间的时间很长

jquery - 在 Bootstrap 汉堡包按钮内垂直居中文本

python - Django 管理 css 丢失

javascript - 如何让这些面板以可滚动的表格格式显示?

html - 有没有办法选择第一个字符? :first-letter does not seem to work

javascript - 如何对该网站需求进行建模

java - 尝试通过 Selenium 和 Java 使用 sendKeys 时获取验证消息