javascript - 如何在循环中使用 jQuery 和带参数的 JSON 生成动态 HTML?

标签 javascript jquery html json loops

我想在一个循环中从 JSON 生成一个 HTML 文件。例如这就是我想要的结果:

<div class="card">
    <p>My name is: Peter</p>
    <!-- another code -->
    <p>My job is: Programmer</p>
    <!-- some more code -->
</div>

<div class="card">
    <p>My name is: John</p>
    <!-- another code -->
    <p>My job is: Programmer</p>
    <!-- some more code -->
</div>

<!-- and so on ... -->

但我想从一个简单的 JSON 中动态生成所有 HTML(这意味着:所有“卡片”-divs),例如:

[
    { "Name": "Peter", "Job": "Programmer" },
    { "Name": "John", "Job": "Programmer" },
    { "Name": "Kevin", "Job": "Scientist" },
]

不幸的是,我只是在学习一些 JS/jQuery,并不确切地知道如何在循环中使用 jQuery 来做到这一点。有人帮忙吗?

最佳答案

试试这个:

function createCard(cardData) {
  var cardTemplate = [
    '<div class="card">',
    '<p>My name is: ',
    cardData.Name || 'No name provided',
    '</p>',
    '<p>My job is: ',
    cardData.Job || 'No job provided',
    '</p></div>'
  ];

  // a jQuery node
  return $(cardTemplate.join(''));
}

var data = [
    { "Name": "Peter", "Job": "Programmer" },
    { "Name": "John", "Job": "Programmer" },
    { "Name": "Kevin", "Job": "Scientist" },
];

var cards = $();
// Store all the card nodes
data.forEach(function(item, i) {
  cards = cards.add(createCard(item));
});

// Add them to the page... for instance the <body>
$(function() {
  $('body').append(cards);
});

关于javascript - 如何在循环中使用 jQuery 和带参数的 JSON 生成动态 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41741171/

相关文章:

javascript - jQuery 仅在主页上显示元素 ID

ios - iOS 上 mediaRecorder 的替代品

html - 将 col-md-6 div 并排放置

javascript - 如何在页面url更改时删除cookie,但在jquery刷新时不删除​​?

javascript - 使用 jQuery 将 tr 附加到 thead 结果空白表行

javascript - `new Date("2013-08-08T09 :40 ")` not working in jweek calendar plugin

jquery - PauseOnHover 和 Duration 不适用于 carouFredSel

html - 使用angularjs从下拉列表中选择一个值时隐藏单选按钮

javascript - GetBootstrap网站上的右栏,它是如何创建的?

javascript - 有没有办法使用三元的条件作为值?