0

我想在 for 循环中将每 3 条记录附加到一个 div 中。numberList 是动态的,因此我们不确定确切的长度。要求是选择 3 条记录并将其包装在 div 中。例如,如果 numberList.length 为 7,那么我们应该有 3 个 div。第一个 2 div 将包含 3 条记录,最后一个 div 将有一条记录。

如何解决这个问题?

for (var j = 0; j < numberList.length; j++) {
number = numberList[j].Number;
}

每 3 条记录后,获取结果并附加到一个 div

4

4 回答 4

1
<html>
<head>
<title>test</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
    var arr = ["one", "two", "three", "four", "five", "six", "seven"];
    var j = 0;
    var str = "";
    var master = $("#masterDiv");
    for (i = 0; i < arr.length; i++) {
        str += arr[i];
        j++;
        if (j >= 3) {
            master.append($('<div/>', { html: str }));
            str = "";
            j = 0;
        }
    }
    master.append($('<div/>', { html: str }));

});   
</script>
</head>
<body>
<div id="masterDiv"></div>
</body>
</html>
于 2013-05-08T08:26:08.497 回答
1

- 尝试这个

var numberList = [10, 20, 30, 80, 50, 60 , 70 ,80,90,100,110,120,130];

var currentRecord = '';
var Num = 0;
var content = '';

for (var j = 0; j < numberList.length; j++) {
    content = '';
    Num = (j + 1);
    if (Num % 3 == 0) {
        currentRecord += numberList[j] + '   ';
        $('#content').append('<div> newDiv '+ currentRecord+'</div>' );
        currentRecord = '';
    }
    else {
        currentRecord += numberList[j] + '   ';
    }

    if ((Num == numberList.length) && (Num % 3 != 0)) {
         $('#content').append('<div>newDiv '+ currentRecord + '</div>' );
    }

}
于 2013-05-08T08:58:22.867 回答
1

你需要这个吗?!

for (var j = 0; j < numberList.length; j++) {  
  if ((j+1)%3) {  
    // create new div
  } else {
    // add record to the div
  }  
}
于 2013-05-08T08:16:41.440 回答
0

尝试这样的事情:

var numberList = [ 123, 234, 345, 456, 567, 678, 789 ]; // sample data

var frag = document.createDocumentFragment(),
    div;

for (var j = 0; j < numberList.length; j++) {
    if (!(j % 3)) {
        div = document.createElement('div');
        frag.appendChild(div);
    }
    div.appendChild(document.createTextNode(' ' + numberList[j]));
}

document.body.appendChild(frag);

这里的例子:http: //jsfiddle.net/vtQtr/


其中大部分应该看起来很熟悉。如果您不熟悉余数运算符 (有时称为“mod”或“modulo”),则可能需要阅读它。%

我们还使用文档片段来避免重复修改文档。首先,我们将内容插入到片段中,然后我们将整个片段一次插入到文档中。

在此示例中,我将每个 div 中的数字用一个空格分隔,但您可以对其进行调整以使用您喜欢的任何内容。

于 2013-05-08T08:19:37.173 回答