2012-04-02 98 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>"