javascript - AJAX json 数据的 CSS 格式化

标签 javascript jquery html css

我正在使用 jquery 调用硬编码的 json 文件。每个 json 对象都有名称、图像和描述。

我需要让页面将每个 json 显示为一个列表项,如下面的模型图像所示。

页面模型

enter image description here

这是我的脚本文件:

$(function() {
$.ajax(
{
  url: 'javascripts/avocado.json',
  data: {}
}).done(function(response) {
console.log(response);
for (var i = 0; i < response.length; i++) {
  $('#avocado-list').append('<div class="avocado-item"></div>')
  $('.avocado-item').append('<h2>' + (i + 1) + '</h2>');
  $('.avocado-item h2').addClass("avocado-number");
  $('.avocado-item').append('<img src="../images/' + response[i].img + '">');
  $('.avocado-item').append('<div><h3>' + response[i].name + '</h3>' + '<p>' + response[i].description + '</p></div>');
  $('.avocado-item h3').addClass("avocado-title");
}
}).fail(function() {
console.log("error");
}).always(function() {
console.log("complete");
});
});

以及我尝试加载 json 数据的 HTML:

<section id="avocado-list" class="list"></section>

我正在尝试为每个 json 对象创建一个 avocado-item 的 div。然后我试图将其后续数据(名称、图像、描述)附加到 div 中,以便我可以将对象信息集中在一行中。

然而,它只是为所有内容创建一个大的 div。我做错了什么?

最佳答案

按照您的方式创建 HTML 非常低效。这是一个更简单的代码版本,应该可以满足您的需求。

$(function() {
  $.ajax({
    url: 'javascripts/avocado.json',
    data: {}
  }).done(function(response) {
    console.log(response);
    var listMarkup = '';

    for (var i = 0; i < response.length; i++) {
      listMarkup += '<div class="avocado-item"><h2 class="avocado-number">' + (i + 1) + '</h2><img src="../images/' + response[i].img + '"><div><h3 class="avocado-title">' + response[i].name + '</h3>' + '<p>' + response[i].description + '</p></div></div>';
    }

    $('#avocado-list').append(listMarkup);
  }).fail(function() {
    console.log("error");
  }).always(function() {
    console.log("complete");
  });
});

关于javascript - AJAX json 数据的 CSS 格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45685721/

相关文章:

javascript - JQuery 幻灯片等待变量未设置

Javascript - 将文本添加到可以添加但不能删除的表单字段

php - 将纯文本更改为文本框后更新它

jquery - 将 CSS 样式引入 jquery 代码

html - 开箱即用的文本后的CSS

javascript - 嵌套 ng-repeat 与包含数组的对象数组

javascript - 我如何使用 Vue.js 返回值

javascript - Ractive.js 事件代理中 jQuery 的 $(this) 的等价物

javascript - 在另一个图像上生成一个图像并给出坐标

javascript - 如何连接到 Javascript 中的 Excel 事件