jquery性能 - 页面滞后清除.html内容

时间:2015-02-27 19:23:07

标签: javascript jquery html

我有一个搜索表单,用于搜索我的数据库中的用户的ajax帖子。搜索可能会产生数千个结果,并将这些结果输出到占位符:

resultHtml = "<table class='table table-striped'>" +
    "<tr>" +
    "<th style='width: 40%;'>Customer Name</th>" +
    "<th style='width: 40%;'>Office</th>" +
    "<th style='width: 15%;'></th>" +
    "</tr>";

$.each(data.searchResults, function(index, item) {
    resultHtml += "   <tr id='row_" + item.Id + "'>";
    resultHtml += "       <td style=\"width: 40%;\">" + item.FullName + "</td>";
    resultHtml += "       <td style=\"width: 40%;\">" + item.CompanyName + "</td>";
    resultHtml += "       <td style=\"width: 15%; padding-right: 10px; text-align: right;\">";
    resultHtml += "           <button type=\"button\" class=\"btn-link custUse\" name=\"custUse\" id=\"custUse\">Use</button>";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custId\" id=\"sr_custId\" value=\"" + item.Id + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custFirstName\" id=\"sr_custFirstName\" value=\"" + item.FirstName + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custLastName\" id=\"sr_custLastName\" value=\"" + item.LastName + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custCompanyId\" id=\"sr_custCompanyId\" value=\"" + item.CompanyId + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custCompanyName\" id=\"sr_custCompanyName\" value=\"" + item.CompanyName + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custCompanyAddress\" id=\"sr_custCompanyAddress\" value=\"" + item.CompanyAddress + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custCompanyCity\" id=\"sr_custCompanyCity\" value=\"" + item.CompanyCity + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custCompanyState\" id=\"sr_custCompanyState\" value=\"" + item.CompanyState + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custCompanyZip\" id=\"sr_custCompanyZip\" value=\"" + item.CompanyZip + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custEmail\" id=\"sr_custEmail\" value=\"" + item.Email + "\">";
    resultHtml += "           <input type=\"hidden\" name=\"sr_custPhone\" id=\"sr_custPhone\" value=\"" + item.Phone + "\">";
    resultHtml += "       </td>";
    resultHtml += "   </tr>";
});
resultHtml += "</table>";

hideLoading();
$("#customerResults").html(resultHtml);

这几乎和我期望的一样。但是,如果用户点击“重置搜索”按钮,我会在页面上获得非常大的延迟,因为它会清除搜索结果:

$('#customerResults').html('');

这一行本身可以半锁定页面(在完成之前你不能点击任何内容)。

我很想知道是否有更快捷的方法,更好的方式来快速清除这些搜索结果?

1 个答案:

答案 0 :(得分:1)

使用.empty()

为了更好地使用性能

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

其他信息