我正在运行以下代码:

$('#storeTable').empty();

$('#storeTable').append("<tr>");
$('#storeTable').append("<td>");
$('#storeTable').append(returnData["1"]["ID"]);
$('#storeTable').append("</td>");
$('#storeTable').append("</tr>");


但是,如果我在一页加载中多次运行它,则“ storeTable”元素每次运行都会越来越高。我是否遗漏了一些明显的东西,这是jQuery / JavaScript的陷阱,还是我的浏览器(Chrome)的问题,还是我做错了什么?

该代码显然需要改进,我只是在尝试获取页面动态部分的基本实现。

如果您还需要其他详细信息,请提出要求,而不仅仅是发表评论。

storeTable当然也是一个表。

最佳答案

您不能使用.append()附加部分HTML。 。append()仅附加整个形成的对象,当附加它们时,会将它们附加为目标对象的最后一个子对象。

除此之外,某些浏览器正在选择如何可以或不能创建/删除表中的内容。

假设#storeTable<table>标记,则可以分配.html()一次创建一个全新的表:

$("#storeTable").html("<tr><td>" + returnData["1"]["ID"] + "</td></tr>");


工作演示:http://jsfiddle.net/jfriend00/5BVdX/

07-24 09:50