jQuery $.each() 多维 JSON 数组

发布于 2024-11-29 19:43:12 字数 653 浏览 0 评论 0原文

我在这里做错了什么?我看不到它,通过第一个 $.each 它起作用,到达第二个它停止..

var testJSON = {"cluster":[{"node":[{"name":"one", "number":'100', "error":"none"},{"name":"two", "number":'200', "error":"none"},{"name":"three", "number":'300', "error":"found"},{"name":"four", "number":'400', "error":"none"}]}]}

if (testJSON.cluster.length != 0)
{
    $.each(testJSON.cluster, function(i, clstr)
    {
        $('.clusters').append('<ul class="nodes">');
        $.each(clstr.node, function(i, ndes)
        {
            $.find('ul').append('<li>'+ndes.name+'</li>');
        });
        $('.clusters').append('</ul>');
    });
}

What did I manage do do wrong here? I can't see it, through the first $.each it works, get to the second it stops..

var testJSON = {"cluster":[{"node":[{"name":"one", "number":'100', "error":"none"},{"name":"two", "number":'200', "error":"none"},{"name":"three", "number":'300', "error":"found"},{"name":"four", "number":'400', "error":"none"}]}]}

if (testJSON.cluster.length != 0)
{
    $.each(testJSON.cluster, function(i, clstr)
    {
        $('.clusters').append('<ul class="nodes">');
        $.each(clstr.node, function(i, ndes)
        {
            $.find('ul').append('<li>'+ndes.name+'</li>');
        });
        $('.clusters').append('</ul>');
    });
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风吹雨成花 2024-12-06 19:43:12

将代码更改为以下内容:

if (testJSON.cluster.length != 0) {
    $.each(testJSON.cluster, function(i, clstr) {
        $('.clusters').append('<ul class="nodes"></ul>');
        $.each(clstr.node, function(i, ndes) {
            $('.clusters ul.nodes').append('<li>' + ndes.name + '</li>');
        });;
    });
}

附加元素时,不必稍后附加结束标记。另外,find 不能直接从 jQuery 对象调用。你需要一个选择器。

Change your code to the following:

if (testJSON.cluster.length != 0) {
    $.each(testJSON.cluster, function(i, clstr) {
        $('.clusters').append('<ul class="nodes"></ul>');
        $.each(clstr.node, function(i, ndes) {
            $('.clusters ul.nodes').append('<li>' + ndes.name + '</li>');
        });;
    });
}

When you append an element, you don't have to later append the closing tag. Also, find cannot be called directly from the jQuery object. You need a selector.

难以启齿的温柔 2024-12-06 19:43:12

什么是$.find,您在内循环中遇到异常,然后停止。

$.find('ul').append('<li>'+ndes.name+'</li>');

您是否正在寻找在外循环中添加的 ul ?如果是,则使用

$('.clusters ul').append('<li>'+ndes.name+'</li>')

What is $.find, you are getting an exception in the inner loop and then it stops.

$.find('ul').append('<li>'+ndes.name+'</li>');

Are you looking for the ul which you added in the outer loop? If yes, then use

$('.clusters ul').append('<li>'+ndes.name+'</li>')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文