我有一个div id
。我必须在div中添加一个包含值的表。
<div id="testResult" style="padding-left: 120px; "></div>
我正在做以下步骤,但它无法正常工作。
$.ajax({
url: '/getReports',
cache: false
}).done(function (html) {
if (html != "") {
$('#testResult').show();
var htm = "";
var string1 = '<table border="1"><tr><td>No</td><td>Testcase</td> <td>OS</td> <td>Browser</td> <td>Result</td></tr></table>';
$.each(html, function (i, data) {
string1 + = '<tr><td rowspan="3">1</td><td rowspan="3">' + data.status.test + '</td><td rowspan="3"><!--OS--></td><td>' + data.status.bwser + '</td> <td> ' + data.status.report + ' </td></tr>';
});
$('#testResult ').append(string1);
$("#testResult").html("<br/><br/>");
$("#testResult").html("<p>" + htm + "</p>");
}
}).fail(function () {
$("#testResult").html("Failed to run the test");
$('#edit ').removeAttr("disabled");
});
答案 0 :(得分:5)
$("#testResult").html("<br/><br/>")
和$("#testResult").html("<p>" + htm + "</p>")
将覆盖“testResult”DIV的内容。所以,替换这个
$('#testResult ').append(string1);
$("#testResult").html("<br/><br/>");
$("#testResult").html("<p>" + htm + "</p>");
}
与
$('#testResult ').append(string1);
$("#testResult").append("<br/><br/>");
$("#testResult").append("<p>" + htm + "</p>");
}
.append():会在DIV的现有内容中添加或追加额外的字符串 在哪里
.html():将使用较新的内容删除或覆盖DIV的现有内容。
这是.append()
和.html()
之间的主要区别。
答案 1 :(得分:2)
编辑此部分
$("#testResult").append("<br/><br/>");
Remove this part-->
$("#testResult").html("<p>" + htm + "</p>");
htm是空字符串,因为你永远不会将任何字符串连接到它