javascript - 循环 JSON 结果并相应地设置 div html

标签 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.</p>
</li>
<li class="slide">
    <h1>Hello For The Last Time</h1>
    <p>This is yet another test.</p>
</li>

现在我有 .json 文件,其中包含一些值...如下

var slides = [
{"maand": "September", "titel": "First Title", "inhoud": "Content 1"},
{"maand": "Oktober", "titel": "Second Title", "inhoud": "Content 2"},
{"maand": "November", "titel": "Third Title", "inhoud": "Content 3"},
]

现在我试图确保每个 .slide h1 都是来自 json 文件的标题 由于某种原因,它总是分配最后一个标题(“第三个标题”)。

##我尝试了以下循环##

$.each(slides, function(i, data){
    $('li.slide h1').html(data.titel)           
});

但这始终返回 .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)           
});

<强> DEMO

关于javascript - 循环 JSON 结果并相应地设置 div html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20424072/

相关文章:

javascript - 使用 Javascript 呈现 HTML 的策略

javascript - JS 范围 Q Promise 问题

javascript - jquery ui tabs盲效应不起作用

javascript - 选择所有分页并显示每页结果,同时使用 JQuery 禁用和启用按钮

javascript - 窗口中的 ('ontouchstart')返回 true 但没有触摸事件

javascript - 如何将脚本添加到 jqgrid 中行上的自定义按钮?

php - 使用 DOMXpath::query 获取 id 旁边的第一张图片

javascript - 使用 JavaScript 将 HTML 字符串加载到 iframe

javascript - 如何获取表单中元素的 id?

javascript - 为什么在函数定义之外引用静态变量(函数属性)?