javascript - 如何使用 jquery 中的数组或 json 中的动态数据填充多个 div

标签 javascript jquery

假设我有一个包含 5 个对象的数组/json。具有 3 个字段的 person 对象。姓名、年龄、性别。

<div>
    <div class="person">
      <label for="name">Name: </label> <span id="name"></span><br>
      <label for="age">Age: </label> <span id="age"></span><br>
      <label for="sex">Sex: </label> <span id="sex"></span><br>
      <button type="button" class="bdel" id="button">Delete person</button>   
    </div>   
</div>

如何填充并生成 5 个 div? 1 个 div 代表 1 个对象。 它应该类似于以下内容:

<div>
    <div class="person>
    <div class="person>
    <div class="person>
    <div class="person>
    <div class="person>
</div>

我不想在我的 jquery 文件中包含太多 html,因为在实际项目中我假设我可能不止 3 个字段/元素。

最佳答案

您可以使用jQuery templates

var items = [{
  id: 0,
  name: 'Test'
}, {
  id: 1,
  name: 'Test 2'
}];
$("#myTemplate").tmpl(items).appendTo(".container");
.person {
  color: green
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>

<script id="myTemplate" type="text/x-jquery-tmpl">
  <div class="person">
    <label for=" name${id} ">Name:</label> <span id="name${id} ">${name}</span>
  </div>
</script>
<div class='container'>
</div>

或者,您可以迭代并创建 DOM 片段并附加它。

var items = [{
  id: 0,
  name: 'Test'
}, {
  id: 1,
  name: 'Test 2'
}];

items.forEach(function(item) {
  var div = $('<div>', {
    "class": "person"
  });
  var span = $('<span>', {
    "text": item.name,
    "id" : "name" + item.id
  })
  div.append(span).appendTo(".container");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='container'>
</div>

关于javascript - 如何使用 jquery 中的数组或 json 中的动态数据填充多个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41975950/

相关文章:

javascript - 清理 JS 代码困惑

javascript - 无法自定义 jQuery 验证消息

Javascript - 在作为参数传递的函数中使用时如何不覆盖 var?

javascript - cordova ios xmlhttprequest 似乎缓存响应

javascript - 如何管理对异步服务的可变调用次数

Javascript - 更改事件链接并在链接末尾添加句点

javascript - 如果父 hasClass() 则防止链接默认

PHP 获取十进制值回显唯一的第一位数字

javascript - 断开 sails.js socket.io 的逻辑

javascript - 单页 webapp 所需的设计建议