javascript - JQuery:如何使用其 id 将现有元素添加到新元素?
问题描述
相关的html是:
<table class="table" id="constraintTable">
<tr>
{% for header in headings %}
<th>{{ header }}</th>
{% endfor %}
<th>Action</th>
</tr>
{% for row in data %}
<tr>
{% for cell in row%}
<td>{{ cell }}</td>
{% endfor %}
<td id="editDelete">
<a href="#" id="editRow">Edit</a>
<a href="#" id="deleteRow">Delete</a>
</td>
</tr>
{% endfor %}
</table>
<button type="button" class="btn btn-primary" id="addConstraint" onclick="constraintAddToTable();>Add New Constraint</button>
现在我正在尝试使用以下 Jquery 向该表添加一行:(假设上面 html 中的“行”集合只有 2 个条目)
function constraintAddToTable() {
if ($("#constraintTable tbody").length == 0) {
$("#constraintTable").append("<tbody></tbody>");
}
$("#constraintTable tbody").append("<tr>" +
"<td>" + "dataval1" + "</td>" +
"<td>" + "dataval2" + "</td>" +
$("#editDelete") +
"</tr>");
}
但这不起作用。只有 dataval1 和 dataval2 进入,最后一列是空白的。我什至尝试添加没有编辑/删除列的行,然后像这样添加 cloumn:
$("#constraintTable tr: last").append($("#editDelete"))
但这也行不通。知道为什么这不起作用以及需要做什么吗?
解决方案
查看您的 HTML 代码,您没有tbody
标签。
如下编辑您的 HTML 代码并尝试。
<table class="table" id="constraintTable">
<tr>
{% for header in headings %}
<th>{{ header }}</th>
{% endfor %}
<th>Action</th>
</tr>
<tbody> //tbody starts
{% for row in data %}
<tr>
{% for cell in row%}
<td>{{ cell }}</td>
{% endfor %}
<td id="editDelete">
<a href="#" id="editRow">Edit</a>
<a href="#" id="deleteRow">Delete</a>
</td>
</tr>
{% endfor %}
</tbody> //tbody ends
</table>
推荐阅读
- sql - 在 Azure SQL 数据库中使用“INSERT INTO”SQL 查询时出错
- r - 需要用 R 中的新列转置特定数量的数据行
- python - 如何管理 tkinter Treeview 中列的大小?
- vue.js - vue 的 kendo-dropdownlist,如何设置默认值
- mysql - UPDATE 表 Replace() 子字符串返回行但 0 已更改
- google-chrome - https://clients2.google.com/service/update2/crx 不再工作了吗?
- swift - 不明白制作缓存时需要什么
- build - Bazel cc_toolchain 用于非 gnu TI DSP 编译器
- javascript - 像我 5 岁一样解释我 - ES6 Promises & async/await 差异,我的代码“正确”吗?
- clojure - 如何查找 Datascript 中的多基数属性是否包含元素?