首页 新闻 会员 周边 捐助

jquery append() 方法里加变量问题,求前端大神点拨。

0
悬赏园豆:10 [已解决问题] 解决于 2017-12-11 17:08

帖子评论结构如下

<div class="detail-body jieda-body">
评论内容
</div>

 

现在js里想替换评论内容 先清空评论内容后 使用到了append()方法

 var a = new Array;
    var i = 1 ;
    $('.detail-body').each(function(){
        a[i] =$(this).text();
        i=i+1;
      });
   

    $('.detail-body').empty(); //清空评论内容
    $('.detail-body').append(a[2]); //插入自定义评论内容

这种效果是 所有的评论帖子都插入了a[2]

如何一一对应插入内容,比如第一个帖子插a[0] 第二个帖子插a[1]...

ycyzharry的主页 ycyzharry | 高人七级 | 园豆:25683
提问于:2017-12-08 20:03
< >
分享
最佳答案
0
$('.detail-body').eq(i).empty(); //清空评论内容
$('.detail-body').eq(i).append(a[i]); //插入自定义评论内容

将这2行放入你的each里面应该就能实现你的需求了吧?
收获园豆:8
大楚打码人 | 老鸟四级 |园豆:4313 | 2017-12-09 10:10

谢谢你的回答 已解决问题 eq(i) 就需要这个 

ycyzharry | 园豆:25683 (高人七级) | 2017-12-11 16:07
其他回答(1)
0

不太明白你这样做的意义,简单的针对你这里的问题说一下把,

你“$('.detail-body').append(a[2]); //插入自定义评论内容”这里一直都是用着同一个class,当然是所有的都显示a[2]的内容了,你再重新遍历一边赋值就行了。还有最好把i=1改为i=0,数组的下标是从0开始的

var q= 1 ;

$('.detail-body').each(function(){

  $(this).text(a[q]);

   q=q+1;

});

这样应该就可以了

收获园豆:2
我只是慕名而来 | 园豆:303 (菜鸟二级) | 2017-12-08 20:39

如果 i=1 改为 i=0 的话,那么q=1也要改为q=0

支持(0) 反对(0) 我只是慕名而来 | 园豆:303 (菜鸟二级) | 2017-12-08 20:42

谢谢你的回答,其实为了解决这个bug 所以先取到值再清空再append 就会显示dsdfdf  

现在问题是 $('.detail-body').append(a[2]);  这里面有很多个div,怎么根据不同div去append不同内容。楼下的回答解决了我的问题。

支持(0) 反对(0) ycyzharry | 园豆:25683 (高人七级) | 2017-12-11 16:04

@ycyzharry: 解决了就好,相互学习

支持(0) 反对(0) 我只是慕名而来 | 园豆:303 (菜鸟二级) | 2017-12-11 19:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册