这是我的HTML:
<table id="mytable">
</table>
当我运行此代码时:
$('<tr>').appendTo('#mytable');
我明白了:
<table id="mytable">
<tr></tr>
</table>
如何避免jQuery的appendTo关闭我的标签?
答案 0 :(得分:3)
你做不到。 jQuery适用于DOM,它是原始HTML之上的一层。它由只能有效的节点组成。
如果要将内容附加到行中,请使用:
var myRow = $('<tr />').appendTo('#mytable');
for( whatever ) {
$('<td />').appendTo(myRow).text( 'this is my cell! woo!' );
}
答案 1 :(得分:1)
正如我在上面的评论中提到的,您始终可以创建一个字符串,然后在append()
中使用该字符串:
var myString = "<tr><td>Hello World!</td></tr>";
$('.inner').append(myString);
但是,我建议反对它,并且总是单独创建有效的元素。
答案 2 :(得分:0)
首先应该没有理由阻止jQuery关闭你的标签。
如果您尝试附加<tr>
,然后添加标记内的内容,然后附加结尾</tr>
,则应使用克隆方法。
在HTML中:
<tr class="tr-template"></tr>
在jQuery中:
$( 'tr-template' )
.clone()
.removeClass('tr-template')
.html( 'whatever you want inside the tr' )
.appendTo('#mytable');
答案 3 :(得分:0)
我想你想做更像这样的事情:
var tableData = '<tr>';
tableData += "<td>One</td>";
tableData += "<td>Two</td>";
tableData += "<td>Three</td>";
tableData += "</tr>";
$('#mytable').html(tableData);
构造一个HTML字符串,将该字符串注入表中。