可能重复:
在 for 循环中分配点击处理程序
我正在从 twitter 请求推文,并将它们保存到两个数组中。一个数组包含来自新闻频道的推文,另一个数组包含来自为第一个数组(news_array)的相同推文发布的用户的推文。
如您所见,我正在检查 user_tweeets 数组中的文本与第一个数组的文本并输出所有为该新闻发推文的用户。
问题是每次输出一个条目时都会输出 news_user 的名称和文本。我不希望它每次都显示这些元素,而只显示用户的个人资料图像,并且只显示一次文本、个人资料图像和频道名称。我怎样才能做到这一点?
这是一个小提琴 --- jsfiddle
function geo(news_array, user_tweets) {
console.log(news_array);
console.log(user_tweets);
for (var i = 0; i < news_array.length; i++) {
var news_date = news_array[i].news_date;
var news_profile_img = news_array[i].news_profile_img;
var news_text = news_array[i].news_text;
var news_url = news_array[i].news_url;
var news_user = news_array[i].news_user;
second(news_user, news_date, news_profile_img, news_text, news_url);
}
function second(news_user, news_date, news_profile_img, news_text, news_url) {
for (var x = 0; x < news_array.length; x++) {
var user = user_tweets[x].user;
var date = user_tweets[x].date;
var profile_img = user_tweets[x].user_profile_img;
var text = user_tweets[x].text;
var url = user_tweets[x].url;
if (text.indexOf(news_text.substr(15, 20)) > -1) {
geocode(user, date, profile_img, text, url, news_user, news_date, news_profile_img, news_text, news_url);
}
}
function geocode(user, date, profile_img, text, url, news_user, news_date, news_profile_img, news_text, news_url) {
$('#news-tweets').css({
'overflow-y': 'scroll',
'overflow-x': 'hidden'
});
$('#news-tweets').append('<table class="news" width="402" border="0">\
<tr>\
<td colspan="5" class="user">' + news_user + '(' + news_date + ')</td>\
</tr>\
<tr>\
<td colspan="5" rowspan="1" class="user">' + news_text + '</td></tr><tr><td width="59" valign="top"><a href=' + profile_img + ' target="_blank">\
<img src=' + profile_img + ' width="55" height="50"/></a></td>\
</tr>\
</table>');
}
}
}