如何为表格内容添加样式?

3

我动态创建表:

function createResultsTable(data) {
    var table = $('<table id="tblResultsList">');
    var tr;
    var td;

    $.each(data.d.foundItems, function(i, item) {

        var button = $('<button/>', {
            text: item.code, 
            click: function () { CellClicked(item.x,item.y,"") }
        }); 
        i % 3 === 0 && (tr = $('<tr>').appendTo(table));

        tr.append('<td>').prepend(button).end();
    });

    $('#rstSearch').append(table);
}

现在界面如下:

输入图像描述

这是Fiddle

这是所需内容的外观:

输入图像描述

这是Fiddle

但我卡住了。 我不知道如何将内容居中并使其成为正方形。


4
你有没有注意到你的按钮不在单元格中? - Marco Salerno
实际上它们在每一行中都在同一个单元格中。 - CMartins
1
不,它们在没有单元格的行中。 - Marco Salerno
4个回答

3

那行代码是错误的:

tr.append('<td>').prepend(button).end();

它实际上是将'<td>'button附加到tr上。 这是因为append的返回值是tr,而不是新的td标签。 你可以尝试这样做:

$('<td>').append(button).appendTo(tr);

3

2

如何安排您的内容:

 var arr = [{"id":1,"name":"Mike"},{"id":2,"name":"Tom"},{"id":3,"name":"Herman"},{"id":4,"name":"Ursula"},{"id":5,"name":"Sam"},{"id":6,"name":"Jenny"},{"id":7,"name":"Helga"},{"id":8,"name":"Nikolas"},{"id":9,"name":"Surgen"},{"id":10,"name":"Jorg"}];

var table_str='<table id="tblResultsList" border="1"></table>';
$('#rstSearch').append(table_str);
var index=0;
var index_total=0;
var row_str='';
for(key in arr){
    index++;
    index_total++;
    if(index==1){
        row_str='<tr>';
    };
    row_str+='<td><input data-id="'+arr[key].id+'" class="my-btn" type="button" value="'+arr[key].name+'"></td>';
    if(index==4){
         row_str+='</tr>';
         index=0;
          $('#tblResultsList').append(row_str);
          row_str='';

     }
     if(arr.length==index_total){
          row_str+='</tr>';
          $('#tblResultsList').append(row_str);
     }
};
var btn_max_width = 0;
$('.my-btn').each(function(){
     var test_width=$(this).outerWidth(true);
     btn_max_width = Math.max(btn_max_width, test_width);
});
$('.my-btn').css({'width':btn_max_width, 'height':btn_max_width});


$('.my-btn').click(function(){
    var id=$(this).attr('data-id');
    alert(id);
});

像这样:

like this:


2

阅读更多关于handlebars的内容会更好。在这些文件中,您可以阅读真正的HTML并动态加载它。这是链接。您可以通过npm install handlebars安装hadlebars。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接