jquery将表附加到div

时间:2014-01-23 09:46:41

标签: javascript jquery

我有一个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");
});

2 个答案:

答案 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是空字符串,因为你永远不会将任何字符串连接到它