javascript - 如何每 9 个项目追加一个新的 div?

标签 javascript jquery

我正在附加一个选项数组,但我希望它在 9 个项目之后转到不同的列。我应该有条件地执行此操作,还是应该将它们全部附加,然后使用 .wrap 表示 9?

这是我所拥有的基础知识:

//array going through an each loop, item being a single item in said array

    _(all_topic).uniq().each(function (item) {
                $(".topicContainer").append('<li><input class="filterable-content__criteria" type="checkbox" name="topic" value="' + item + '" id="group3-'+item+'"><i class="hsg-icon hsg-icon-orange-checkmark"></i><label for="group3-'+ item +'">'+ item +'</label></li>')
            });
<小时/>

我应该在这之后立即运行一个函数

var topic_opts = $(".topicContainer li");
for(var i = 0; i < topic_opts.length; i+=9) {
  topic_opts.slice(i, i+9).wrapAll("<ul class="row+i"></ul>");
}

或者有什么方法可以在附加中使用条件来做到这一点?

最佳答案

也许这可能对你有帮助。这将循环遍历给定的数组并在每第 9 次迭代时添加(即 9、18、...)。请注意,如果 index == 0index % 9 == 0 也将返回 true。

$.each(object_array, function( index, value ) {
    if (index % 9 == 0) {
        container.append('<whatever>')
    }
})

关于javascript - 如何每 9 个项目追加一个新的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47557996/

相关文章:

javascript - 提交表格并停留在同一页面上?

javascript - 同时进行ajax调用

javascript - D3更新模式下select using merge和selectAll的区别

javascript - Marionette 事件聚合器与主干路由器

javascript - jQuery 如何作用于多个选择器?

javascript - 具有相同类别的多个按钮不起作用

javascript - iframe 用于广告加载好还是坏?

javascript - Angular 2 如何从路由组件发出数据

javascript - 如何设置 javascript 重定向以将用户发送到后台页面?看代码

jquery - VS2015中jQuery安装在哪里?