当只有一个项目循环时,$ .each()不起作用?

Tan*_*man 3 each jquery getjson

我对每个方法调用了一些getJSON结果:

    if(data && data.query && data.query.results)
    {                
        $.each(data.query.results.span, function(i, item)
        {
            console.log("Content:" + item.content); // FAILS --> UNDEFINED!!
         });
    }
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么它不会显示任何东西,即使我可以看到JSON返回一个结果.

所以我删除了每个并做了这个:

    if(data && data.query && data.query.results)
    {
            console.log("Content:" + data.query.results.span.content); // WORKS!!
    }
Run Code Online (Sandbox Code Playgroud)

现在它有效.

each()当只有一个结果时,没有办法使用吗?

gra*_*rks 8

$.each 期望在第一个参数中有一个数组,所以像这样:

$.each([ data.query.results.span ], function(i, item) { ... } 
Run Code Online (Sandbox Code Playgroud)

应该管用.方括号创建单个项目数组.