2012-04-02 160 views
2

我有以下的循环这是给我的问题追加div标签

$("#divResults").append('<table>'); 

$.each(results.d, function(index, record) { 
    $("#divResults").append('<tr><td>' + record.ClientCode + '</td></tr>'); 
}); 

$("#divResults").append('</table>'); 

对于基于谷歌某种原因,铬合金的开发工具里面的一张桌子,上面的代码产生以下HTML

<table></table> 
<tr><td>Code 1</td></tr> 
<tr><td>Code 2</td></tr> 
<tr><td>Code 3</td></tr> 
<tr><td>Code 4</td></tr> 
<tr><td>Code 5</td></tr> 
<tr><td>Code 6</td></tr> 
<tr><td>Code 7</td></tr> 

这怎么修复才能生成正确的HTML?

回答

7

jQuery运行于元素没有标签。

您不能附加开始标记,然后是一些内容,然后是结束标记。

var html = '<table>'; 
$.each(results.d, function(index, record) { 
    html += '<tr><td>' + record.ClientCode + '</td></tr>'; 
}); 
html += '</table>'; 
$("#divResults").append(html); 
0
var table = $("<table></table>"); 

$.each(results.d, function(index, record) { 
    var row = $("<tr></tr>"); 
    var cell = $("<td></td>").text(record.ClientCode).appendTo(row); 
    table.append(row); 
}); 
$("#divResults").append(table); 
+0

殴打它:-) – RubbleFord 2012-04-02 10:51:58

+0

上面的代码将产生相同的输出作为question.There不会任何关闭标记。 – cherit 2012-04-02 11:02:15

+0

@tito - 不,它不会。它创建一个表格元素,然后将一堆表格行添加到它。问题中的代码创建了一个table元素,将它附加到div,然后将一系列表行添加到** div **。 – Quentin 2012-04-02 11:03:26

0

您还可以通过DOM做到这一点:document.getElementById('divResults).innerHTML= "<table><tr><td>Hi ! I am new table</td></tr></table>"