我目前面临的情况是,在创建一组新的DOM元素之前,我需要销毁一个包含大量行的jqGrid。我已经尝试过使用jqGrid的GridDestroy方法,但它仍然留下了大量的独立DOM节点,所以我想我可能做错了。
这是我当前的进程仍在离开DOM节点:
$(deleteButton).click(function () {
$('#grid').jqGrid("clearGridData");
$('#grid').jqGrid('GridDestroy');
$('#grid').remove();
$('#gridContainer').empty();
});
我觉得这个过程太过分了,但它仍然会导致分离的DOM节点。我在jsFiddle(http://jsfiddle.net/8DYD8/1/)中设置了一个示例。
重现的步骤:
答案 0 :(得分:-1)
根据jqgrid专家@oleg:
方法GridDestroy的工作方式与jQuery.remove类似。它删除所有 属于网格的元素包含元素。
方法GridUnload另一方面删除所有,但是空 元素留在页面上。所以你可以创建新的网格 在同一个地方。
根据jqGrid wiki:
http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods
GridDestroy 是您所需要的:
从DOM中删除id = grid_id的入口网格(清除所有 与网格关联的html并取消绑定所有事件)