我正在尝试迭代JSON文件中的一些内容,但我无法让each()做我想做的事情。这就是我所拥有的:
$.each(response.data.items, function(i,data)
{
var id=data.id;
var results="<div><iframe width='320' height = '190' src='http://www.example.com/"+id+"' frameborder='0' type='text/html'></iframe></div>";
$("#resultsOut").html(results);
});
目前,唯一正在输出的HTML是
<div><iframe width='320' height = '190' src='http://www.example.com/"+id+"' frameborder='0' type='text/html'></iframe></div>
其中id是JSON中出现的最后一个id。我如何更改这一点,以便我发现每个ID发生一次HTML阻止?
答案 0 :(得分:1)
您可能需要
$(results).appendTo("#resultsOut");
而不是
$("#resultsOut").html(results)
因为.html()
用新HTML替换所选元素的内容,而不是添加到它。
答案 1 :(得分:1)
您每次都会覆盖$("#resultsOut")
的内部HTML。做这样的事情:
$.each(response.data.items, function(i,data)
{
var id=data.id;
var results="<div><iframe width='320' height = '190' src='http://www.example.com/"+id+"' frameborder='0' type='text/html'></iframe></div>";
$("#resultsOut").append($(results));
});
答案 2 :(得分:0)
您只看到最后一个ID,因为您每次迭代都会覆盖以前的HTML。尝试使用.append():
$.each(response.data.items, function(i,data)
{
var id=data.id;
var results="<div><iframe width='320' height = '190' src='http://www.example.com/"+id+"' frameborder='0' type='text/html'></iframe></div>";
$("#resultsOut").append(results);
});