javascript - 使用for循环在HTML div中显示JSON内容

标签 javascript jquery html json

我正在尝试将 JSON 的内容显示到 div 类“network-info”中。我相信首先写入的内容会被数组中接下来的内容覆盖。我可以用什么来规避这个问题并显示一切?

    $(function() {

        var netinfo = function(data) {
            for (var i = 0; i < data.length; i++) {
                $(".network-info").html(
                    "<hr>" +
                    "<p> Adapter Name: " + data[i].name + "</p>" +
                    "<p> IP Address:  " + data[i].ip + "</p>" +
                    "<p> MAC Address:  " + data[i].mac + "</p>" +
                    "<p> Adapter ID:  " + data[i].id + "</p>" +
                    "<hr>"
                )
            }
        };

        $.ajax({
            url: "http://127.0.0.1:8080/dashboard?context=netadapters&node=5",
            dataType: 'json',
            crossDomain: true,
        }).done(function(data) {
            netinfo(data);
        });

    });

最佳答案

不要将输出直接写入 HTML,而是构建一个字符串,然后注入(inject)该字符串,如下所示:

    var netinfo = function(data) {
        var output = "";
        for (var i = 0; i < data.length; i++) {
            output +=
                "<hr>" +
                "<p> Adapter Name: " + data[i].name + "</p>" +
                "<p> IP Address:  " + data[i].ip + "</p>" +
                "<p> MAC Address:  " + data[i].mac + "</p>" +
                "<p> Adapter ID:  " + data[i].id + "</p>" +
                "<hr>";
        }
        $(".network-info").html(output);
    };

这实际上比附加数据更好,因为它只修改 DOM 一次。

关于javascript - 使用for循环在HTML div中显示JSON内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248966/

相关文章:

javascript - 重定向到 url,如果 Jwplayer 加载媒体时出错

javascript - 通过 Google App 脚本将 Google Sheet 数据传递到本地 Node.js 服务器

javascript - 如何设置:before psudo property for a group of css styles

javascript - a = an; 有什么意义?分析 jQuery 源代码

javascript - 删除 Excel 导出中的特定 html 列 - javascript

jquery - 滚动表格中的弹出显示

JavaScript 格式化 : must braces be on the same line as the if/function/etc keyword?

javascript - Rails/Angular JS : Ngclick not appearing to work

html - 如何创建也根据宽高比调整大小的背景图像?

javascript - 如何使用 jQuery 运行 MySQL 查询?