这是我的HTML:的jQuery appendTo与 '破' HTML
<table id="mytable">
</table>
当我运行这段代码:
$('<tr>').appendTo('#mytable');
我得到:
<table id="mytable">
<tr></tr>
</table>
如何避免jQuery的从关闭我的标签appendTo?
这是我的HTML:的jQuery appendTo与 '破' HTML
<table id="mytable">
</table>
当我运行这段代码:
$('<tr>').appendTo('#mytable');
我得到:
<table id="mytable">
<tr></tr>
</table>
如何避免jQuery的从关闭我的标签appendTo?
你不能。 jQuery适用于DOM,它是原始HTML上方的一层。它由只能有效的节点组成。
如果要附加的东西行,使用:
var myRow = $('<tr />').appendTo('#mytable');
for(whatever) {
$('<td />').appendTo(myRow).text('this is my cell! woo!');
}
这很好用!谢谢! – 2013-03-13 23:40:27
不应该有任何理由以免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');
正如我在评论中提及上面,你总是可以创建一个字符串,然后使用该字符串在append()
:
var myString = "<tr><td>Hello World!</td></tr>";
$('.inner').append(myString);
但是,我会建议反对它,并始终创建有效的元素个人idually。
+1对此推荐! – Dave 2013-03-13 23:36:37
我想你想要做的事更是这样的:
var tableData = '<tr>';
tableData += "<td>One</td>";
tableData += "<td>Two</td>";
tableData += "<td>Three</td>";
tableData += "</tr>";
$('#mytable').html(tableData);
构建HTML的字符串,注入该字符串到表中。
这是为什么你的问题? – Blender 2013-03-13 23:29:24
“关闭我的标签”是什么意思?哪些标签正在关闭? – Steve 2013-03-13 23:30:07
我试图追加多个字符串单独的行(通过不同的循环等),我希望能够追加开放标签和结束标签以外的循环。 – 2013-03-13 23:30:30