2015-10-06 133 views
-2

所以我有一个JSON文件,其中有一个偏差数组。我想遍历每个总线和div的,像这样显示出来:在JSON中循环数组的最佳方式是什么?

<div class="bus"> 
    <div class="line">departure.line</div> 
    <div class="direction">departure.direction</div> 
    <div class="time">departure.time</div> 
</div> 

每个输入总线都有它自己的总线分度,它里面的所有相关信息。我已经得到尽可能显示其中之一,但我不知道如何迭代它们并将它们显示在正确的位置。

我打算利用香草JavaScript或jQuery。

下面是与数组的jsfiddle我想遍历:http://jsfiddle.net/tmm7b31w/

+0

听起来像你需要forEach;) –

+0

http://api.jquery.com/jquery.each/ –

回答

-1

你要使用的每一个,就像这样:

HTML

<div class="bus prototype"> 
    <div class="line"></div> 
    <div class="direction"></div> 
    <div class="time"></div> 
</div> 

的JavaScript(用jQuery )

var parent = $('body'); 
var prototype = $('.bus.prototype'); 

$.each(data.departures, function(index, departure) { 
    var bus_div = prototype.clone(); 

    bus_div.find('.line').text(departure.line); 
    //etc... 

    parent.append(bus_div); 
}); 

你也可以用一个香草JavaScript来做循环。

for (var i = 0; i < data.departures.length; i++) { 
    var departure = data.departures[i]; 

    var bus_div = prototype.clone(); 

    bus_div.find('.line').text(departure.line); 
    //etc... 

    parent.append(bus_div); 
} 
0

你需要一个foreach循环来简单地通过元素。见下面的示例:

$.each(item, function(index1, item1){ 
    var divContent = 
     '<div class="line">' + item1.line + '</div>' + 
     '<div class="direction">' + item1.direction + '</div>' + 
     '<div class="time">' + item1.aimed_departure_time + '</div>'; 

     $('#container').append(divContent); 
}); 

我已经更新了你的提琴here

+0

为什么这个答案是downvoted ??? – vendettamit

+0

你应该尽量减少对dom的访问。创建完整的HTML追加并追加它在结尾(循环后),以更有效 –

+0

好抓住..我会修改代码。 – vendettamit

相关问题