我动态创建表的thead
。问题是,当我第一次调用我的方法时它会完美地创建标题但是当我在同一个表上再次调用它时,它不会删除以前的标题。如何清除之前的thead
?
HTML
<table id="tblActivitySummary" class="display nowrap" cellspacing="0" width="100%">
<span class="table-mainhead">Activity Summary</span>
</table>
JQuery的
function CreateHTMLTable(tableId, displayColumnNames) {
var columnNames = [];
for (var k in displayColumnNames[0]) {
columnNames.push(k);
}
var $toAttach = $("<thead><tr></tr></thead>");
for (var i = 0; i < columnNames.length; i++) {
var $thead = $("<th></th>");
$thead.text(columnNames[i]); //columnNames is array of string containing column names
$toAttach.find("tr").append($thead);
}
$(tableId).append($toAttach);
}
我在调用CreateHTMLTable
之前试图像这样清空,但是没有工作:
$('#tblActivitySummary').empty();
CreateHTMLTable('#tblActivitySummary', displayColumnNames);
答案 0 :(得分:1)
它添加了更多TotalMatching
,因为您已使用Filter()
,它会将内容附加到指定的容器中。
thead
您可以直接使用.append
替换新标记,而不是附加标记。
$(tableId).append($toAttach);
修改强>:
以下代码段添加了.replaceWith()
第一次不存在时添加的功能:
$(tableId + " thead").replaceWith($toAttach);