1

我有这个代码:

var comment_count = instadata[0].data[i].comments.count
var comment_data = instadata[0].data[i].comments.data
var comments = [];

    $.each(comment_data, function(i, user) {
       comments.push('<li><img class="commentUserImg" src="' + user.from.profile_picture + '"><div class="commentUser">' + user.from.username + '</div><div class="commentText">' + user.text + '</div></li>');
    });

显示评论。它是一个附加的,直接在 AJAX 内的 $.each() 下方

<ul class="messageComments">' + comments + '</ul>

显示时,每个 LI 元素之间都有逗号。

我怎样才能摆脱这个?一切正常,除了逗号。

谢谢

更新了代码。这也是通过 AJAX 完成的

4

2 回答 2

1

你可以用胶带固定它:

<ul class="messageComments">' + comments.join('') + '</ul>

或者第一次做对(好吧,只是我的方式):

var comment_count = instadata[0].data[i].comments.count
var comment_data = instadata[0].data[i].comments.data
var $comments = $('<ul />', {'class': 'messageComments'});

$.each(comment_data, function(i, user) {
    var $li = $('<li />');

    $('<img />', {
        'class': 'commentUserImg',
        'src': user.from.profile_picture
    }).appendTo($li);

    $('<div />', {
        'class': 'commentUser',
        'text': user.from.username
    }).appendTo($li);

    $('<div />', {
        'class': 'commentText',
        'text': user.text
    }).appendTo($li);

    $li.appendTo($comments);
});

$comments.appendTo('body');  // Tweak this selector
于 2012-10-26T06:53:29.490 回答
0

您需要使用空字符串调用 join ,否则默认使用 ','。如果您甚至不调用 join ,您将自动使用 toString() ,结果将与 join() 相同;

<ul class="messageComments">' + comments.join('') + '</ul>

测试:

var a = [1,2,3,4];
console.log(a.toString()); //1,2,3,4
console.log("string: "+a); //string: 1,2,3,4
console.log(a.join());     //1,2,3,4
console.log(a.join(''));   //1234
于 2012-10-26T06:59:25.277 回答