JQuery:如何循环文本数组

时间:2010-12-30 07:24:24

标签: javascript jquery loops

我想循环一个文本数组。我打算使用.each(),但我不知道是否有办法用它来做。是否有可能或者还有其他方式需要这样做吗?感谢

我不认为这是必要的,但这就是我用它测试它...

jQuery.each(data.reviews, function(index, itemData) {
    var p = '"'+ itemData.review +'"';
    $("#reviews p").text(p);
});

编辑:它是一个JSON对象数组。 (我认为这就是你说的 - 或者说 - 对象数组的JSON对象)

循环我希望它最终淡入和淡出每个“评论”并循环,所以如果有5个评论那么它将从5循环到0然后返回到5并继续无限。希望能让它更加清晰。

3 个答案:

答案 0 :(得分:2)

for (var i = 0; i < data.reviews.length; i++) {
   $('#reviews p').text('"' + data.reviews[i].review + '"');
}

不确定为什么要一遍又一遍地替换#reviews p文本,但原生Javascript适用于迭代数组。

答案 1 :(得分:1)

我认为你应该这样做

data.reviews.each(function(index) {
    //use $(this) to get the current review element
});

答案 2 :(得分:1)

不太确定你的意思是“循环一个文本数组”。假设data.reviews是一个JSON对象是否安全?如果是这样,你有什么应该工作,但你可能想使用:

$('#reviews').append($('<p>').text('"'+itemData.review+'"'));

这将取代.each块中的当前代码。 (假设您为每个条目的#reviews添加了一个新段落。您当前的方法一直用最后找到的条目替换段落的内容。)

JSFiddle示例:http://jsfiddle.net/HcV3P/

JSFiddle v2 - 与旋转器:http://jsfiddle.net/HcV3P/2/