【发布时间】:2012-09-13 09:29:39
【问题描述】:
我有一个小问题。我使用 jQuery 从$.get() 请求中获得了 json 数据
这是输出:
[
{"name":"Silver","price":525,"per_month":"20","first_invoice":"20"},
{"name":"Gold","price":500,"per_month":"50","first_invoice":"0"},
{"name":"Avion","price":750,"per_month":"10","first_invoice":"10"}
]
我尝试为每个对象生成一个带有 LI 的 UL...
我写了这个小代码:
//send get request
$.get(
url,
{ 'dst': dst, 'price':price },
function(data) {
var objects = jQuery.parseJSON(data);
var items = [];
jQuery.each(objects, function(){
console.log(this);
items.push('<li id="' + this.name + '">' + this.price + '</li>');
});
jQuery('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('#results');
}
);
当我使用 console.log()each 对象时,firebug 会记录:没有错误...它可以工作。
这是items.push() 和appendTo(),它们什么都不产生...控制台中没有错误...在我的#results div 中没有附加...
我确定我做错了什么。谁能帮帮我?
更新
在 Fabrício Matté(稍后回答)的帮助下,问题出在 iframe。
jQuery('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo(jQuery('body').find('#results'));
有效 =)
很快再见 Stackoverflow 社区
【问题讨论】:
-
对我来说很好用:jsfiddle.net/WaDkT.
-
是的,它似乎与原始代码一起工作得很好。确保您的
#results在 DOM 中,并且您的console.log显示您的期望。