jquery - 当只有一项需要循环时 $.each() 不起作用?

标签 jquery getjson each

我对一些getJSON结果进行了each方法调用:

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

尽管我可以看到 JSON 返回单个结果,但我不明白为什么它不显示任何内容。

所以我删除了每个并执行了以下操作:

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

现在可以了。

当只有一个结果时,是否无法使用each()

最佳答案

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

$.each([ data.query.results.span ], function(i, item) { ... } 

应该可以工作。方括号创建单个项目数组。

关于jquery - 当只有一项需要循环时 $.each() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4534373/

相关文章:

jquery - $.getJSON 获取状态

javascript - 如何使用 find() 优化 jquery 代码?

php - jQuery:带有标题的多个文件上传

javascript - 无法更改数据表中的页面

javascript - 加载视频时显示加载图标 javascript

javascript - 中止 jQuery getJSON XMLHttpRequest

javascript - jQuery:请求 getJSON + SunlightLabs API 帮助

jQuery 创建对象文字循环

javascript - jQuery:如果每个 tr 都有类,则运行函数

jquery - 通过代码控制页面大小和打印份数