我有一个非常基本的表格html。
<table id="test">
<thead>
<tr>
<th>ID</th>
<th>Sender</th>
<th>Received</th>
</tr>
</thead>
<tbody>
</tbody>
</table>我正在使用下面的代码来填充表的行
$.get('/currency', function(dreams) {
dreams.forEach(function(dream) {
$('<tr><td></td>').text(dream.jpy).appendTo('tbody#test')
$('<tr><td></td>').text(dream.jpy).appendTo('tbody#test')
$('<tr><td></td></tr>').text(dream.jpy).appendTo('tbody#test')
})
})我的问题是,行没有显示。
我做错了什么?
发布于 2018-04-19 23:54:00
tr在前两个语句中没有正确闭合,因为tdtest.,所以$('<tr><td></td></tr>')的输出将是tr
$('<tr><td></td></tr>')的输出将是tr而不是td,所以您在tr中设置的文本不是tbody#test选择器匹配的元素所以,你的解决方案是
$('<td />').text(dream.jpy).appendTo($('<tr/ >').appendTo('#test tbody'))发布于 2018-04-20 00:29:24
要达到预期效果,请使用以下选项
将行值追加到每个单元格
dreams.forEach(function(dream) {
var row = $('<tr></tr>');
var keys = Object.keys(dream)
keys.forEach(function (cellData) {
row.append($('<td>'+dream[cellData]+'</td>'));
});
$('tbody').append(row);
})
发布于 2018-04-20 00:01:48
感谢所有人的帮助和评论。我已经把它改成了这样的东西,并且正在工作
dreams.forEach(function(dream) {
$('<tr>').appendTo("#test>tbody");
$('<td></td>').text(dream.jpy).appendTo('#test>tbody')
$('<td></td>').text(dream.jpy).appendTo('#test>tbody')
$('<td></td>').text(dream.jpy).appendTo('#test>tbody')
$('</tr>').appendTo("#test>tbody");
})https://stackoverflow.com/questions/49925220
复制相似问题