使用jQuery追加到表中

使用jQuery追加到表中,jquery,html,Jquery,Html,这是我向表中添加行的代码 for(var i=0;i<subjects.length;i++){ $('#table-wrapper table').append("<tr><td data-subjectid="+i+">"+subjects[i].name+"</td>"); for(var j=0;j<no_of_batches;j++){ $('#table-wrapper table').appen

这是我向表中添加行的代码

for(var i=0;i<subjects.length;i++){
    $('#table-wrapper table').append("<tr><td data-subjectid="+i+">"+subjects[i].name+"</td>");
    for(var j=0;j<no_of_batches;j++){
            $('#table-wrapper table').append("<td data-batchid="+j+"></td>");
    }
    $('#table-wrapper table').append("</tr>");
} 

for(var i=0;i您通过

$('#table-wrapper table').append("<td data-batchid="+j+"></td>");
$('#表包装表')。追加(“”);
需要附加到最后一个tr

$('#table-wrapper table tr:last-child').append("<td data-batchid="+j+"></td>");
$('#表包装器表tr:last child')。追加(“”);
还没有测试过,但它应该可以工作

更好的方法是将内容添加到字符串中,然后追加一次

var temp;
for(var i=0;i<subjects.length;i++){
    temp = "<tr><td data-subjectid="+i+">"+subjects[i].name+"</td>";
    for(var j=0;j<no_of_batches;j++){
            temp = temp + "<td data-batchid="+j+"></td>";
    }
    temp = temp + "</tr>"
}
$('#table-wrapper table tbody').append(temp); 
var-temp;

对于(var i=0;i,您通过

$('#table-wrapper table').append("<td data-batchid="+j+"></td>");
$('#表包装表')。追加(“”);
需要附加到最后一个tr

$('#table-wrapper table tr:last-child').append("<td data-batchid="+j+"></td>");
$('#表包装器表tr:last child')。追加(“”);
还没有测试过,但它应该可以工作

更好的方法是将内容添加到字符串中,然后追加一次

var temp;
for(var i=0;i<subjects.length;i++){
    temp = "<tr><td data-subjectid="+i+">"+subjects[i].name+"</td>";
    for(var j=0;j<no_of_batches;j++){
            temp = temp + "<td data-batchid="+j+"></td>";
    }
    temp = temp + "</tr>"
}
$('#table-wrapper table tbody').append(temp); 
var-temp;

对于(var i=0;i,如果我正确理解您的代码,您可以尝试以下方法:

var table = $('#table-wrapper table');
for(var i = 0; i < subjects.length; i++) {
    var row = $('<tr />');
    row.append("<td data-subjectid=" + i + ">" + subjects[i].name + "</td>");
    for(var j = 0; j < no_of_batches; j++) {
        row.append("<td data-batchid=" + j + "></td>");
    }
    table.append(row);
} 
var-table=$(“#表包装表”);
对于(变量i=0;i
在这里,您可以创建一行,将单元格附加到该行,然后将新行附加到表中。
您可能还希望缓存对表的引用。

如果我正确理解您的代码,您可以尝试以下方法:

var table = $('#table-wrapper table');
for(var i = 0; i < subjects.length; i++) {
    var row = $('<tr />');
    row.append("<td data-subjectid=" + i + ">" + subjects[i].name + "</td>");
    for(var j = 0; j < no_of_batches; j++) {
        row.append("<td data-batchid=" + j + "></td>");
    }
    table.append(row);
} 
var-table=$(“#表包装表”);
对于(变量i=0;i
在这里,您可以创建一行,将单元格附加到该行,然后将新行附加到表中。 您可能还希望缓存对表的引用。

您需要这样做-

for(var i=0;i<subjects.length;i++){
    var $tr = $('<tr></tr>');
    $tr.append("<td data-subjectid="+i+">"+subjects[i].name+"</td>");
    for(var j=0;j<no_of_batches;j++){
            $tr.append("<td data-batchid="+j+"></td>");
    }
    $('#table-wrapper table').append($tr);
} 
for(var i=0;i您需要这样做-

for(var i=0;i<subjects.length;i++){
    var $tr = $('<tr></tr>');
    $tr.append("<td data-subjectid="+i+">"+subjects[i].name+"</td>");
    for(var j=0;j<no_of_batches;j++){
            $tr.append("<td data-batchid="+j+"></td>");
    }
    $('#table-wrapper table').append($tr);
} 

for(var i=0;i的
append
方法不是一个
writeln
等效方法。它实际上尝试将文本打包并生成最终完整的标记

使用临时字符串变量累加所有要追加的内容,并在末尾仅调用一次
append

var s;
for(var i=0;i<subjects.length;i++){
  s = "<tr><td data-subjectid="+i+">"+subjects[i].name+"</td>";
  for(var j=0;j<no_of_batches;j++){
    s += "<td data-batchid="+j+"></td>";
  }
  s += "</tr>";
  $('#table-wrapper table').append(s);
} 
var;

对于(var i=0;i而言,
append
方法不是一个等价的
writeln
方法。它实际上尝试将文本打包并生成最终完整的标记

使用临时字符串变量累加所有要追加的内容,并在末尾仅调用一次
append

var s;
for(var i=0;i<subjects.length;i++){
  s = "<tr><td data-subjectid="+i+">"+subjects[i].name+"</td>";
  for(var j=0;j<no_of_batches;j++){
    s += "<td data-batchid="+j+"></td>";
  }
  s += "</tr>";
  $('#table-wrapper table').append(s);
} 
var;

对于(var i=0;iAppend元素,而不是部分HTML。我建议在顶部创建一个字符串,将所有内容添加到该字符串中,然后将其添加到
的底部。对于
@Carl Saldanha,是否希望数据主体位于其他td的顶部?附加元素,而不是部分HTML。我建议在顶部创建一个字符串,添加所有内容ng,然后将其添加到
的底部,对于
@Carl Saldanha,您是否希望主体数据位于其他td的顶部?这是一个很好的答案,因为设置$('')非常清晰作为我们工作的基点。一旦我们定义了从何处追加或前置,复杂的问题就会消失。回答很好。这是一个漂亮的答案,因为设置$('')是多么清晰作为我们工作的基点。一旦我们定义了从何处追加或前置,复杂的问题就会消失。回答很好。table元素中有一个tbody元素。如果最后一行更改为$(“#table wrapper table tbody”)。append(s);table元素中有一个tbody元素。如果最后一行更改为$(“#table wrapper table tbody')。append(s);