javascript - 向具有更多(或)少于 2 个 li 的 ul 添加一个类

标签 javascript jquery

我正在尝试将一个类添加到每个具有更多(或等于或少于)2 个 li 的 ul。

不知怎么的,我无法让它继续下去。我要么最终将一个类添加到所有 2 级 ul,要么不添加。

这是我正在使用的代码:

$(document).ready(function() {
  var countli = $('ul.level_2 li').length;
    if(countli >= 3) {
      $("ul.level_2").addClass("short");
    }
});

我错过了什么?

http://jsfiddle.net/gmodesignz/20dksk4y/3/

最佳答案

你应该使用 .filter()

Reduce the set of matched elements to those that match the selector or pass the function's test.

脚本

$("ul.level_2").filter(function () {
    return $(this).find('li').length >= 3
}).addClass("short");

DEMO

关于javascript - 向具有更多(或)少于 2 个 li 的 ul 添加一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32265889/

相关文章:

javascript - 只给我点击样式的元素

javascript - 如何在某些特定的 html 页面上以 Angular 2 应用 css?

javascript - Owl Carousel - 自动高度移动问题

javascript - Jquery - 如果元素的值为 "Active"则运行函数

javascript - 如何在 django 上动态更改 block 的内容?

javascript - 在 Javascript 中加载 XML 数据时出错

javascript - 我需要创建一个 JavaScript 函数,在给定不带 jquery 的 CSS 选择器的情况下返回 DOM 元素

javascript - 如何在单击 Accordion 项目时保留一个图标名称?

javascript - 计算某个类的 div

javascript - Jquery - 添加超链接到数据表