jquery - 使用 jQuery 更新表行

标签 jquery html html-table row updating

假设你有一个 html 表格:

<table id="data">
    <thead>
        <tr>
            <td>ID</td>
            <td>Username</td>
            <td>First Name</td>
            <td>Last Name</td>
        </tr>
    </thead>
    <tbody>
        <?php foreach($arrData as $arrRecord) { ?>
        <tr id="tr_<?php echo $arrRecord["id"]; ?>">
            <td><?php echo $arrRecord["username"]; ?></td>
            <td><?php echo $arrRecord["fname"]; ?></td>
            <td><?php echo $arrRecord["lname"]; ?></td>
        </tr>
        <?php }?>
    </tbody>
</table>

你有一个 JSON 对象:

objUser = {"id":12,"username":"j.smith","fname":"john","lname":"smith"};

并且您想要更改相应表行中的该记录(假设该表已经有 id="tr_12"的行):

$('#tr_' + objUser.id).find("td").eq(1).html(objUser.id);
$('#tr_' + objUser.id).find("td").eq(2).html(objUser.username);
$('#tr_' + objUser.id).find("td").eq(3).html(objUser.fname);
$('#tr_' + objUser.id).find("td").eq(4).html(objUser.lname);

是否有比最后显示的代码块更快/更干净的方法来使用 jQuery 更新表行?

最佳答案

我认为您可以做一些事情

$('#tr_' + objUser.id).find("td").eq(1).html(objUser.id);
$('#tr_' + objUser.id).find("td").eq(2).html(objUser.username);
$('#tr_' + objUser.id).find("td").eq(3).html(objUser.fname);
$('#tr_' + objUser.id).find("td").eq(4).html(objUser.lname);

可能成为:

$this = $('#tr_' + objUser.id).find("td");
$this.eq(1).html(objUser.id);
// And so on

如果已经存在,您可以直接替换

if ($('#tr_' + objUser.id).length) {
    var newHtml = '<td>' + .objUser.username + '</td>'
            + '<td>' + objUser.fname + '</td>'
            + '<td>' + objUser.lname + '</td>';
    $('#tr_' + objUser.id).html(newHtml);
}

关于jquery - 使用 jQuery 更新表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17044687/

相关文章:

javascript - 验证 Javascript 中的文本区域

html - 最小宽度属性在 Internet Explorer 8 中不起作用

jquery - 在 droppable 不起作用后调整大小

jquery - 修复了带有可滚动主体的列表在 IE 9 和 10 中无法正确呈现的问题

jquery - 标签内容在点击时消失

jquery - 在 jquery 元素选择中使用正则表达式

javascript - 带有登录页面的 Ionic 应用程序侧面菜单

html - 表列更改行为取决于内容 (colspan)

css - 自动调整工作台

javascript - 结合 eq、parent 和 index 似乎不起作用