首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -需要动态地填充json中的一些Divs

jQuery -需要动态地填充json中的一些Divs
EN

Stack Overflow用户
提问于 2018-05-29 20:23:37
回答 2查看 41关注 0票数 1

下面有一个json,我需要动态地填充一些Divs。

json

代码语言:javascript
复制
information:
  first:
    Image: image-1.jpg
    Title: title-1
    Text: text-1
  second:
    Image: image-2.jpg
    Title: title-2
    Text: text-2
   third:
    Image: image-3.jpg
    Title: title-3
    Text: text-3

html

代码语言:javascript
复制
<div class="article">
  <div class="image"></div>
  <div class="title"></div>
  <div class="text"></div>
</div>
<div class="article">
  <div class="image"></div>
  <div class="title"></div>
  <div class="text"></div>
</div>
<div class="article">
  <div class="image"></div>
  <div class="title"></div>
  <div class="text"></div>
</div>

我需要什么

代码语言:javascript
复制
<div class="article">
  <div class="image">image-1</div>
  <div class="title">title-1</div>
  <div class="text">text-1</div>
</div>
<div class="article">
  <div class="image">image-2</div>
  <div class="title">title-2</div>
  <div class="text">text-2</div>
</div>
<div class="article">
  <div class="image">image-3</div>
  <div class="title">title-3</div>
  <div class="text">text-3</div>
</div>

我已经尝试了“每一个”和“为”,但它没有正常工作,它最终填补了所有的信息。

我只有最后一个密码

代码语言:javascript
复制
for (var i = 0; i < information.length; i++) {
  for (var i = 0; i < article.length; i++) {
    var image = information[i].image;
    $('.article .image').append(image);
  }
}

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-29 20:47:45

你可以这样做:

代码语言:javascript
复制
for (var i = 0; i < information.length; i++) {
    var image = information[i].image;
    $('.article').eq(i).find('.image').append(image);
}

https://api.jquery.com/eq/

票数 0
EN

Stack Overflow用户

发布于 2018-05-29 20:58:10

为了具体解决您的问题,选择器$('.article .image')返回一个元素数组,希望这些元素与您的JSON长度相匹配。如果是这样,您可以使用相同的索引填充HTML:

代码语言:javascript
复制
for (var i = 0; i < information.length; i++) {
    $($('.article .image')[i]).append(information[i].image);
    $($('.article .title')[i]).append(information[i].title);
    $($('.article .text')[i]).append(information[i].text);
}

希望有帮助:)

如果你迭代这个对象并插入内容的HTML块,而不是预渲染HTML并填充它,那就好多了。

编辑:在获取JQuery元素后将它们包装到JQuery元素中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50592385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档