【发布时间】:2017-02-14 04:54:42
【问题描述】:
我试图遍历一个附加有从 AJAX 调用接收到的数据的列表。
基本上,我进行了 AJAX 调用并使用循环将数据附加到 DOM 中的列表元素。
users.forEach(function(user){
$.getJSON(channelUrl + user, function(data){
//DECLARE ARRAYS
var channels = [];
//PUSH DATA TO ARRAYS
channels.push(data);
//APPEND DATA TO DOM
channels.forEach(function(channel){
$('.stream-item').append(
`<h3>`+ channel.display_name + `</h3>
<span class="status"></span`);
})
})
})
然后我尝试根据另一个 AJAX 调用的结果在每个项目的 span 标记内附加“离线”
users.forEach(function(user){
$.getJSON(streamUrl + user, function(data){
if(data.stream){
$('.status').append('Offline')
}
else
$('.status').append('Online')
})
})
这是我的html
<div id="stream-list-container">
<ul id="stream-list">
<li class="stream-item">
stream item
</li>
</ul>
这样做的结果是它在每个列表项中附加了与 ajax 数据一样多的“离线”
这是项目的链接
http://codepen.io/kevinjanada/pen/MJZZmr?editors=1011
任何帮助将不胜感激..
【问题讨论】:
-
你怎么知道
<span class="status">会是offline还是online
标签: javascript jquery ajax loops for-loop