我正在运行以下代码:
$('#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/