javascript - Jquery for循环在每三次循环迭代后写入html

标签 javascript jquery html loops

我正在尝试获取 <div class="clear"></div>在 jquery 中 for 循环的每三次迭代后出现。我知道在 PHP 中它可以通过 if($i%3 == 0) 完成但是如何在 jquery/javascript 中做到这一点呢?

这是我的 for 循环:

var data = $.parseJSON(result);
for(i=0;i<data.length;i++){
    if(i/3 == 1){
        $('#add_product_preview_area').append('<div class="clear"></div>');
    }
    $('#add_product_preview_area').append(data[i]);
}

现在这只有效一次,因为循环只会到达数字 3 一次。那么关于如何使相同的 php 概念在 jquery 中工作的任何想法?我已经看到了关于将每个第 n 个包装在一个 div 中的其他问题,但我只需要在每个 div 之后写一个 div 的 html。

提前致谢。

编辑:

if ( i && (i % 3 === 0)) {

是答案..我不知道你能做到。谢谢!

最佳答案

改用取模运算符。

if ( i && (i % 3 === 0)) { ...

只要没有余数,您就可以被 3 整除。

我包含了 i && 以消除自 0 % 3 === 0 以来的第一次迭代;//真

关于javascript - Jquery for循环在每三次循环迭代后写入html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13144927/

相关文章:

javascript - 如何在外部javascript链接中的同一类div中添加ID?

javascript - Angular-Slick 与 Grunt

javascript - 通过localStorage实现StorageEvent

javascript - 输入值完全看不到,为什么?

javascript - 如何获取图像 src 作为变量并显示数组中的图像?

javascript - 如何使用 javascript/jquery 将数字格式化为印度货币(在数据表中)

javascript - 该功能在 chrome 中运行良好,但在 IE 和 Firefox 中运行不佳

javascript - 获取 HTML 输入中的插入符号位置?

javascript - 使用 `for in` 循环通过函数更改对象属性

html - 将文本垂直对齐到我的列 div 的中间