清除表元素的thead

时间:2017-01-12 09:51:34

标签: jquery html

我动态创建表的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);

1 个答案:

答案 0 :(得分:1)

它添加了更多TotalMatching,因为您已使用Filter(),它会将内容附加到指定的容器中。

thead

您可以直接使用.append替换新标记,而不是附加标记。

$(tableId).append($toAttach);

修改

以下代码段添加了.replaceWith()第一次不存在时添加的功能:

$(tableId + " thead").replaceWith($toAttach);