平铺的jQuery网格

时间:2011-11-24 23:14:52

标签: javascript jquery

我希望有些人知道如何平铺网格。我有一些代码可以开始

1 | 2
3 | 4
5 | 6

和我的ajax函数

$.ajax({
  complete:function(result) {
      // in here i want to tile across two sets of td's for each tr
      for(var i = 0; i < products.length; i++) {
          $('#products').append('<tr><td>' + products[i].Title + '</td></tr>');
      }
  }
});  
<table id="products"></table>

4 个答案:

答案 0 :(得分:2)

以下是您要尝试实现的示例代码。您可以根据自己的需要进行优化。 Fiddle

for(var i = 0, y=0; i < 10; i++){

    if(y == 0){
        $('table').html($('table').html() + '<tr>');
    }

    $('table').append('<td>' + i + '</td>')

    y++;

    if( y == 2 ){
        y = 0;
        $('table').html($('table').html() + '</tr>');
    }

}

答案 1 :(得分:2)

这适用于任何产品尺寸(偶数或奇数)。 希望通过评论使其易于理解

var table_body = '< tbody>';
for(var i = 0; i < products.length; i++) {
    if(i%2==0)//if even we open a row
         table_body += '<tr>';

    //We always put a value  
    table_body += '<td>' + products[i].Title + '</td>';

    if(i%2!=0 || (i==products.length-1))//if odd we close a row
         table_body += '</tr>';

}

table_body += '< /tbody>';
$('#products').append(table_body);

答案 2 :(得分:2)

最简单的解决方案是不使用表格。如果你以这种方式安排数据,那么很可能无论如何都不是表格数据。我建议您在元素上使用display: inline-block并使用对您正在使用的数据有意义的HTML元素,例如ulli

答案 3 :(得分:1)

这适用于偶数或奇数个元素,经过全面测试。

var tbl = "";
for (var i = 0; i < products.length; ++i) {
    if (i % 2 == 0) tbl += '<tr>';
    tbl += '<td>' + products[i].Title + '</td>';
    if (i % 2 == 1) tbl += '</tr>';
}
if (i % 2 == 1) tbl += '</tr>';
$("#products").append(tbl);

fiddle

相关问题