无法将html代码附加到现有元素中,得到[object HTMLElement],不是真实代码

时间:2018-12-27 10:01:09

标签: c# jquery json

使用.net核心,我已经收到一些JSON数据,并使用它生成一些表。在此表中,我应该添加一些复选框,但是将其附加到td对我不起作用。 代码示例1:

var table = $('#tab1 tbody');
$.each(response.nodes, function (index, value) {
    var tr = document.createElement("tr");
    tr.setAttribute("class", "entireRow");

    var td1 = document.createElement("td");
    td1.setAttribute("class", "toGenerate");
    if (!value.nodeName || (value.nodeName.length > 0 && !value.hasChilds)) {
        td1.append($("<div class='checkbox'><label><input name='toRegen' id='td-gen-chbx-" + value.index + "' type='checkbox' class='td-gen-chbx'></label></div>"));
        }
        else {
            td1.append($.parseHTML("<center> - </center>"));
        }

    tr.appendChild(td1);
    table.append(tr);
});

我尝试了3种选择:

td1.append($.parseHTML(...));
td1.append($(...));
td1.append("code directly");

预期结果:如果有某些值,则附加复选框;如果没有,则附加-

实际结果:

•td1.append(“ ..”); -在此屏幕上以文本形式显示代码: code as text

•td1.append($。parseHTML(“”)); -显示[object HTMLElement]而不是复选框

•td1.append($(“”));; -在此屏幕上显示[object Object]: code as object

0 个答案:

没有答案