当我第一次调用函数loadTable时,信息会正确显示,如果我再次调用该函数,信息会在HTML页面中显示两次(一个在另一个下面)。
尝试使用以下命令删除for循环之前的信息:
$("#tabla").remove();
$("#tabla").empty();
但信息不会被删除。
HTML:
<div id="divTabla"><table style="width:100%" border="1" id="tabla"></table></div>
JavaScript的:
function loadTable(datos) {
for (var i = 1; i < datos.length; i++) {
d+= '<tr>'+
'<td>'+datos[i].Host+'</td>'+
'<td>'+datos[i].Time+'</td>'+
'<td>'+datos[i].Country+'</td>'+
'<td>'+datos[i].City+'</td>'+
'<td>'+datos[i].Isp+'</td>'+
'<td>'+datos[i].Latitude+'</td>'+
'<td>'+datos[i].Longitude+'</td>'+
'</tr>';
}
$("#tabla").append(d);
}
是否有人知道代码有什么问题或如何正确删除信息?
编辑:
当我调用方法时,我按如下方式执行:
function cargarTabla(datos) {
//Using only one at a time
$("#tabla").empty(); //Doesn't work
$("#tabla").remove(); //The table is never displayed
for (var i = 1; i < datos.length; i++) {
d+= '<tr>'+
'<td>'+datos[i].Host+'</td>'+
'<td>'+datos[i].Time+'</td>'+
'<td>'+datos[i].Country+'</td>'+
'<td>'+datos[i].City+'</td>'+
'<td>'+datos[i].Isp+'</td>'+
'<td>'+datos[i].Latitude+'</td>'+
'<td>'+datos[i].Longitude+'</td>'+
'</tr>';
}
$("#tabla").append(d);
}
变量声明d:它在loadTable函数所在的同一个js文件中声明,方式如下(它是表的标题):
var d = '<tr>'+'<th>Host</th>'+'<th>Time(ms)</th>'+'<th>Pais</th>'+'<th>Ciudad</th>'+'<th>ISP</th>'+'<th>Latitud</th>'+'<th>Longitud</th>'+'</tr>';
答案 0 :(得分:3)
这里的问题不是空()不工作。问题是您使用变量d
并且您从未重置它,因此它保存前一次的值。
function loadTable(datos) {
var d = ""; // <--------
for (var i = 1; i < datos.length; i++) {
d+= '<tr>'+
'<td>'+datos[i].Host+'</td>'+
'<td>'+datos[i].Time+'</td>'+
'<td>'+datos[i].Country+'</td>'+
'<td>'+datos[i].City+'</td>'+
'<td>'+datos[i].Isp+'</td>'+
'<td>'+datos[i].Latitude+'</td>'+
'<td>'+datos[i].Longitude+'</td>'+
'</tr>';
}
$("#tabla").empty().append(d);
}
答案 1 :(得分:0)
.remove()会移除该表格。在函数loadTable的第一行调用.empty()。此外,变量'd'从未声明,或者它是从您发布的代码中声明的,并且永远不会被重置。在函数中定义d以加载表并将其设置为空。你也开始你的for循环1,如果你不想排除第一行,则从0开始。
loadTable([{Host: 'host', Time: 'time', Country: 'country', City: 'city', Isp: 'isp', Latitude: 'latitue', Longitude: 'longitude'}]);
function loadTable(datos) {
$("#tabla").empty();
var d = '';
for (var i = 0; i < datos.length; i++) {
d+= '<tr>'+
'<td>'+datos[i].Host+'</td>'+
'<td>'+datos[i].Time+'</td>'+
'<td>'+datos[i].Country+'</td>'+
'<td>'+datos[i].City+'</td>'+
'<td>'+datos[i].Isp+'</td>'+
'<td>'+datos[i].Latitude+'</td>'+
'<td>'+datos[i].Longitude+'</td>'+
'</tr>';
}
$("#tabla").append(d);
}
答案 2 :(得分:-1)
将函数的最后一行更改为此
$("#tabla").empty().html(d);