jQuery $ .each()多维JSON数组

chr*_*ris 1 javascript each jquery

我管理的是什么在这里做错了?我看不到它,通过第一个$.它运行,到第二个它停止..

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>');
    });
}
Run Code Online (Sandbox Code Playgroud)

Fis*_*rdo 7

将您的代码更改为以下内容:

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>');
        });;
    });
}
Run Code Online (Sandbox Code Playgroud)

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