【问题标题】:Add A Table Row With Ajax Results添加带有 Ajax 结果的表格行
【发布时间】:2026-01-14 14:55:02
【问题描述】:

我有一个函数,它获取从 ajax 调用返回的值并向 json 值中定义的表添加一行,但我认为它没有正确获取表。我有什么特别需要做的吗?我知道 data['table_name'] 变量确实有正确的值。

这是我的代码。

function ajaxSuccess () {
            var data = JSON.parse(this.responseText);
            var elementObj = document.getElementById(data['table_name']);

                var i = elementObj.size() + 1;
                elementObj.append('<tr><td>Date</td><td>Name</td><td>' + data['new_comment'] + '</td></tr>');
                i++;
                return false;
        }

【问题讨论】:

    标签: javascript json ajax dom


    【解决方案1】:

    这是不正确的。

    你有js变量var elementObj = document.getElementById(data['table_name']);

    而你使用 jquery append()

    改用var elementObj = $("#"+data['table_name']);

    同时检查控制台是否有错误,您可能会收到以下信息:

    Uncaught TypeError: Object #<HTMLDivElement> has no method 'append'
    

    附言你也可以试试这个:

    $(elementObj).append('<tr><td>Date</td><td>Name</td><td>' + data['new_comment'] + '</td></tr>');
    

    无需将 var elementObj 重写为 jquery 变量。

    【讨论】:

    • 感谢您的澄清,我能够使用 js var row = elementObj.insertRow(0);命令