javascript - 使用 jQuery 创建新元素的正确方法是什么?

标签 javascript jquery html

我想知道使用 jQuery 创建新元素的正确方法是什么。例如,假设我有一个表,我想根据我拥有的对象列表在其中追加一些行,所以我目前的做法如下:

var list =
[
    {
        name: 'Banana',
        cost: 100
    },
    {
        name: 'Apple',
        cost: 200
    },
    {
        name: 'Orange',
        cost: 300
    }
];

var appendThis = '';

for(var key in list)
{
    var product = list[key];

    appendThis += '<tr>';
    appendThis += '<td>' + product.name + '</td>';
    appendThis += '<td>' + product.cost + '</td>';
    appendThis += '</tr>';
}

$('#producttable').empty().append(appendThis);

fiddle :https://jsfiddle.net/ahvonenj/ywjbrrak/

但我听说连接字符串并附加行是一个很好的方法,相反我应该创建 trtd元素,我将列表中的数据附加到其中,然后将这些元素附加到 HTML 表中。

如果这看起来是正确的方法,那么它到底是如何完成的呢?我只创建过div以编程方式使用 $('</div>') 元素,但我不知道如何创建 tr像这样,并在其之上附加以编程方式创建的 td进入以编程方式创建的 tr .

它可能像这样工作吗:

var $row = $('</tr>').append($('<\td>').append('TD CONTENT'));

最佳答案

您可以使用语法 $("<element/>") 创建一个新元素:

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

for(var key in list)
{
    var product = list[key];

    var $tr = $("<tr/>");
    $tr.append($("<td/>").text(product.name));
    $tr.append($("<td/>").text(product.cost));

    $('#producttable').append($tr);
}

关于javascript - 使用 jQuery 创建新元素的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33078729/

相关文章:

javascript - 如何以样式缓存图像 url?

javascript - 使用 FormData 对象获取 CKeditor 值

javascript - getElementById() 方法不适用于我的上一个函数

javascript - $digest 已在进行中

php - 使用 ajax 创建的字段保存表中的更改

javascript - 为什么我的 ShardWorker 没有在 Firefox 中运行,而是在 Google Chrome 中运行

javascript - AngularJS:基于输入类型的返回函数

html - 如何像图片中那样垂直对齐div

javascript - 将外部 html 包含到 enduro.js 中

javascript - 通过 jQuery 或 JS 打开或重定向到 Base64 DataURL