jquery - jQuery 集合中的每个第 n 个元素

标签 jquery

我想选择 jQuery 元素集中的每一个元素。

例如。

<ul>
  <li>A</li>
  <li>B</li>
  <li>C</li>
  <li>D</li>
  <li>E</li>
  <li>F</li>
  <li>G</li>
</ul>
  1. 如何选择每三个(C 和 F)元素?
  2. 如何选择同一组中非三分之一(A、B、D、E、G)的所有其他元素?

最佳答案

您可以使用$.grep函数将集合中的每个元素及其索引(从 0 开始)传递给回调。因此,由您决定要保留哪一个:

var elements = $('<ul><li>A</li><li>B</li><li>C</li><li>D</li><li>E</li><li>F</li><li>G</li></ul>').find('li');
var result = $.grep(elements, function(element, index) {
    return (index + 1) % 3 == 0;
});

如果您想要其他元素,只需反转条件:(index + 1) % 3 != 0

另一种可能性是使用 .filter()功能:

var result = $('<ul><li>A</li><li>B</li><li>C</li><li>D</li><li>E</li><li>F</li><li>G</li></ul>')
    .find('li')
    .filter(function(index) {
        return (index + 1) % 3 == 0;    
    });

关于jquery - jQuery 集合中的每个第 n 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12025931/

相关文章:

javascript - 在 jQuery 对象中加载整个 html(带有 doctype)|阻止 iFrame 加载脚本

javascript - Nodewebkit 应用程序 : hide cursor

jquery - 如何在支持触摸和指针事件的设备上处理触摸事件,并且菜单中的子项不是父菜单的子项

javascript - jQuery按钮一键二功能

javascript - PHP 生成的表格按钮 onclick 仅适用于第一个

javascript - 动态更改 Jquery 文件上传 url

javascript - 为数据表中的各个行添加点击事件(JQuery)

javascript - 如何编写一个非阻塞的javascript方法?

javascript - 在多个表单提交后(在 Rails 中),尝试在 ajax 提交后再次显示 JQuery flash 消息

javascript - 帮助使用 URL 参数打开选项卡信息