老师为啥只能加载最后一个出来

来源:5-4 自由编程

慕容5109188

2019-12-13 12:10:55

//copyright
   var copyright = {};

   copyright.copyData = [
       {
           title:"消费者保障",
           content:['保障范围','退货退款流程','服务中心','更多特色']
       }, {
           title:"新手上路",
           content:['新手专区','消费提示','交易安全','24小时在线帮助','免费开店']
       }, {
           title:"付款方式",
           content:['快捷支付','信用卡','余额宝','蜜蜂花啊','货到付款']
       }, {
           title:"慕陶特色",
           content:['手机慕淘','慕淘信','大众评审','B格指南']
       }]

   copyright.buildCopy = function (copyData) {
       var html = '';

       html +='<div class="bottom-text fl">';
       html +='<h2 class="bottom-title">'+copyData.title+'</h2>';

       for (var i=0; i<copyData.content.length; i++){
           html +='<a href="###" class="bottom-content link">'+copyData.content[i]+'</a>';
       }
       html += '</div>';

       return html;
   };


   copyright.$bottom = $('.bottom');

   function show() {
       for(var index in copyright.copyData){
          var $elem = copyright.copyData,
              html = copyright.buildCopy($elem[index]);
       }
       copyright.$bottom.html(html);
   }
   show();

写回答

1回答

好帮手慕慕子

2019-12-13

同学你好, 因为show函数中,在for循环内初始化变量html,导致每次循环html都会重新赋值, 所以循环结束后只显示最后一个。

建议: 在循环外声明一个变量,在for循环将所有内容进行字符串拼接。

http://img.mukewang.com/climg/5df327eb097f440b10110372.jpg

如果帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程