使用jquery时在表上方插入的行
Row being inserted above table when using jquery
我正试图在我的网站上使用jquery填充一个表。当我在HTML页面上手动编写HTML时,它是有效的,但当我用div替换它并使用jquery将HTML附加到它时,它会在表头上方插入HTML。
它提取用户在不同选项卡上的表上创建的信息,以要求用户在提交之前确认输入。
我手动输入的行(Adult,4.99,0,)都按原样显示,但附加到div ticketconfirmation的行显示在表上方。一旦用户在最初输入数据的页面上按continue,就会调用Jquery。
有人能解释为什么会发生这种事吗?
感谢
HTML
<table class="table table-hover">
<thead>
<tr>
<th>Ticket Name</th>
<th>Ticket Price</th>
<th>Max Quantity</th>
</tr>
</thead>
<tbody>
<tr>
<td>Adult/td>
<td>4.99</td>
<td>0</td>
</tr>
<div id="ticketconfirmation"></div>
</tbody>
JQuery
function getNodes() {
console.log("Getting node info");
$("#ticketconfirmation").text('');
var table = $('#sample_editable_1').DataTable();
var data = table.rows().data();
for (var i = 0; i < data.length; i++) {
$("#ticketconfirmation").append('<tr>');
var row = table.row(i).data();
$("#ticketconfirmation").append(
"<td>" + row[0] + " </td><td> " + row[1] + " </td><td> "
+ row[2] + "</td></tr>");
}
};
删除您的<div id="ticketconfirmation"></div>
试试这个:
var newRow;
for (var i = 0; i < data.length; i++) {
var row = table.row(i).data();
newRow = "<tr><td>" + row[0] + " </td><td> " + row[1] + " </td><td> "
+ row[2] + "</td></tr>";
$('table.table tbody').append(newRow);
}
for (var i = 0; i < data.length; i++) {
var tableRow = $('<tr></tr>');
var row = table.row(i).data();
tableRow.append("<td>" + row[0] + " </td><td> " + row[1] + " </td><td> " + row[2] + "</td>");
$("#ticketconfirmation").append(tableRow);
}
您可以在tbody上提供id ticketconfirmation并删除该div。
相关文章:
- 将样式表插入iframe
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 如何动态插入jquery代码
- 动态插入的表:JQuery未检测到最后一行
- 使用JavaScript动态插入DIV的成本有多高
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 将对象动态插入到现有对象中
- 将数组中的值插入到表中
- 可以插入在插入HTML标记之前
- node-mssql 事务插入 - 返回插入的 id
- 流星批量插入仅插入最后一项
- 在MongoDB中插入/向上插入嵌套文档
- Google 购物 API 节点.js产品插入返回“插入请求必须指定产品”错误
- 如何使用一键插入数字插入数字1 2 3,,,,K
- EmberJS:不能在DOM中插入已经插入的元素
- 如何插入
元素插入元素
- 如何插入<选项>插入
- 在插入符号处插入文本-插入新行和制表符空格
- 隐藏插入符号-插入点-输入栏-闪烁的垂直小栏
- 克隆和插入,插入次数超过预期