我的无序列表 float 每个元素,以便 3 个元素出现在一行上。
我需要对元素的底线应用某种样式。我当前正在使用::nth-child 伪类,但问题在于其中一些列表的最后一行有 1、2 或 3 个元素。
如何让 jquery 找出哪些元素位于最后一行,并应用一个类,以便我可以对这些元素应用特定的样式?
最佳答案
不确定这是否是最佳解决方案,但这里有一个使用 mod 运算符来查找最后一行中的数字的解决方案:
$('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/