javascript - 如何将 jQuery 对象转换为 HTML

标签 javascript jquery html

我有一个带有固定标题的 4 列表格,并且想要使用 jQuery 动态添加行。

我使用了以下方法:

data.forEach(function(res, i) {     
    var cols = (function() {
        var colp = [];
        [res.a, res.b, res.c, res.d].forEach(function(data){
            colp.splice(colp.length, 0, $("<td/>").text(data));
        });
        return colp;
    })();
    $("<tr/>").html(cols.join("")).appendTo(".cotainer");
});

data从服务返回,我正在使用 foreach 循环对其进行迭代。然而,通过这种方法,我得到的输出为:

<tr>[Object, Object][Object, Object][Object, Object][Object, Object]</tr>
<tr>[Object, Object][Object, Object][Object, Object][Object, Object]</tr>
.... upto no of results returned.

我知道解决这个问题的一种方法是 colp.splice(colp.length, 0, "<td>" + data + </td>); ,但不想采用这种方法。

最佳答案

只需跳过“join("")”步骤即可:

data.forEach(function(res, i) {     
    var cols = (function() {
        var colp = [];
        [res.a, res.b, res.c, res.d].forEach(function(data){
            colp.splice(colp.length, 0, $("<td/>").text(data));
        });
        return colp;
    })();
    $("<tr/>").html(cols).appendTo(".cotainer");
});

我认为这种方式更清晰:

data.forEach(function(res) {
    var row = $('<tr>');
    [res.a, res.b, res.c, res.d].forEach(function(data){
      row.append($('<td>').text(data));
    });
    $('.cotainer').append(row);
});

工作示例:https://jsfiddle.net/m8gdc9ks/1/

关于javascript - 如何将 jQuery 对象转换为 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41223285/

相关文章:

html - 在基本 html/css 站点中正确对齐 div 元素

javascript - 如何处理多个用户的localStorage?

javascript - Angular 绑定(bind)错误

javascript - 数据仅点击div

javascript - 在运行时修改 DataTables TableTools 默认的 PDF 导出文件名

javascript - 粒子不是从 particles.js 生成的

使用 For 循环的 Javascript 计算

javascript - 如何使用图像选择器动态添加 id 以列出 HTML 中的 <li> 标签?

javascript - Canvas 绘制带有线性渐变的填充圆 Angular 矩形

javascript - 如何从异步调用返回响应?