Javascript 循环JSON结果并相应地设置div html
我有一个结构简单的HTML页面,如下所示:Javascript 循环JSON结果并相应地设置div html,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有一个结构简单的HTML页面,如下所示: <li class="slide"> <h1>Hello</h1> <p>This is a test.</p> </li> <li class="slide"> <h1>Hello Again</h1> <p>This is another test.</
<li class="slide">
<h1>Hello</h1>
<p>This is a test.</p>
</li>
<li class="slide">
<h1>Hello Again</h1>
<p>This is another test.</p>
</li>
<li class="slide">
<h1>Hello For The Last Time</h1>
<p>This is yet another test.</p>
</li>
现在我试图确保每个.slide h1都是json文件的标题
出于某种原因,它总是指定最后一个标题(“第三个标题”)
##我尝试了以下循环##
但这总是从.json
文件返回最后一项。
我也试过了,结果也一样
$.each(slides, function(i,data){
$('li.slide h1').each(function(){
$(this).html(data.titel);
});
});
##解决方案1##
我只需要在.eq.上加1。。也许是从1开始,而不是从0开始
$.each(slides, function(i,data){
$('li.slide h1').eq(i+1).html(data.titel);
});
试试这个
var dom=$('li.slide h1');
$.each(slides, function(i, data){
dom.eq(i).html(data.titel)
});
试试这个
var dom=$('li.slide h1');
$.each(slides, function(i, data){
dom.eq(i).html(data.titel)
});
请参考此
$.each(slides, function(i, data){
$('li:eq('+i+').slide h1').html(data.titel)
});
请参考此
$.each(slides, function(i, data){
$('li:eq('+i+').slide h1').html(data.titel)
});
您的JSON文件是否包含“var slides=”?您的JSON文件是否包含“var slides=”?我不知道eq(i)——我建议您将
$('li.slide h1')
移动到每个周期之外的变量,目前您在每个迭代中都进行DOM查询。更新了问题和解决方案。。只是必须添加+1?我不知道eq(i)——我建议您将$('li.slide h1')
移动到每个周期之外的变量,目前您在每个迭代中都进行DOM查询。更新了问题和解决方案。。只需添加+1?谢谢!二者都我不知道eq函数。这是最好的做法吗。。就像我这样做是为了填充内容。。或者我应该用Jquery附加它们吗?谢谢!二者都我不知道eq函数。这是最好的做法吗。。就像我这样做是为了填充内容。。或者我应该用Jquery附加它们?