我有一个具有大约1000个属性的JavaScript对象,并且想要创建一个< table>的这些条目,在一行中有八个属性,< tr>。
我正在使用jQuery append();但是,它会自动追加关闭< / tr>标签。我想手动定义关闭< / tr>应该去。我该如何做到这一点?
物体:
var g2u = {}; g2u.a1 = ""; g2u.a2 = ""; g2u.a3 = ""; g2u.a4 = ""; g2u.a5 = ""; g2u.a5a = ""; g2u.a6 = ""; g2u.a6a = ""; g2u.a6b = ""; ... etc...
< table> ;:::
<table id="list" border="1"> </table> <script> var ctr = 0; $("#list").append('<tr>'); for (var g in g2u) { $("#list").append('<td><span class="rom">'+g+'</span>\n'); $("#list").append('<span class="eh">'+g2u[g]+'</span>\n'); $("#list").append('<span class="rom"> </span></td>\n'); ctr++; if (ctr % 8 == 0) { $("#list").append('</tr><tr>\n'); } }
破产:
<tbody><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></tbody> <td><span class="rom">a1</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a2</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a3</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a4</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a5</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a5a</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a6</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a6a</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a6b</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a7</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a8</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a9</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a10</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a11</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a12</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a13</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a14</span></td><span class="eh"></span><span class="rom"> </span><td><span class="rom">a14a</span></td><span class="eh"></span><span class="rom"> </span><td><spa
解决方法
如果你附加它将显然尝试关闭标签。
尝试将你的html放在一个字符串中,而不是将该字符串追加到dom。
尝试将你的html放在一个字符串中,而不是将该字符串追加到dom。
<script> var ctr = 0; var html='<tr>'; for (var g in g2u) { html+='<td><span class="rom">'+g+'</span>\n'; html+='<span class="eh">'+g2u[g]+'</span>\n'; html+='<span class="rom"> </span></td>\n'; ctr++; if (ctr % 8 == 0) { html+='</tr><tr>\n'; } } $("#list").append(html);