2

我有这个数组电视,当我用循环读取这个数组时,它只给我最后一项,在这种情况下是东芝,我该怎么做才能向我展示电视品牌?

for (var i=0;i<tv.length;i++){
            $('#item').html(tv[i].Brand)}
<div id='item'></div>

阵列电视:

var tv = [{"Name":"TV","Brand":"Samsung"},
{"Name":"TV","Brand":"Toshiba"},
{"Name":"TV","Brand":"LG"}]
4

2 回答 2

3

问题:您只有一个div#item元素,并且在每次迭代中都更新它的值。

解决方案:动态创建并附加一个元素以显示数组中的每个项目,例如:

for (var i=0;i<tv.length;i++){
    $('<div/>').addClass('item').html(tv[i].Brand).appendTo('.container');
}

在哪里:

  • item是一个类 - 现在你有多个元素
  • container- 假定为您希望在其下显示项目的父元素
于 2013-01-27T12:10:48.073 回答
3

html()覆盖每次迭代的内容,这就是为什么只有最后一个是可见的,其他的被覆盖。您应该使用附加:

$('#item').empty();
for (var i=0; i<tv.length; i++){
    $('#item').append(tv[i].Brand);
}
于 2013-01-27T12:10:57.200 回答