我有一个博客脚本,从帐户中提取最新的三个Twitter帖子,我调整它添加到帖子底部的图像分隔符,但不想看到最后一个帖子底部的分隔符。我坚持使用语法来计算前两个然后在第三个中排除图像(或重写没有图像的行)。
以下是代码块:
function twitterCallback2(twitters)
{
var statusHTML = [];
for (var i=0; i<twitters.length; i++)
{
var username = twitters[i].user.screen_name;
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url)
{
return '<a href="'+url+'" target="_blank">'+url+'</a>';
}).replace(/\B@([_a-z0-9]+)/ig, function(reply)
{
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
});
statusHTML.push('<li><span>'+status+'</span> <a class="date" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank"><br /><p style="text-align:left; margin-top:4px;"><img src="../images/news/twitter-bird.png" style="margin:3px 2px 0 0;">'+relative_time(twitters[i].created_at)+'</a></p><img src="../images/news/twitter-divider.png" style="margin-top:4px;"></li>');
}
document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}
非常感谢任何帮助。
答案 0 :(得分:2)
未经测试,但这应该有效:
function twitterCallback2(twitters) {
var statusHTML = [];
for (var i=0; i<twitters.length; i++){
var username = twitters[i].user.screen_name;
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
return '<a href="'+url+'" target="_blank">'+url+'</a>';
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
});
var htmlToPush = '<li><span>'+status+'</span> <a class="date" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank"><br /><p style="text-align:left; margin-top:4px;"><img src="../images/news/twitter-bird.png" style="margin:3px 2px 0 0;">'+relative_time(twitters[i].created_at)+'</a></p>';
if (i<twitters.length-1)
htmlToPush += '<img src="../images/news/twitter-divider.png" style="margin-top:4px;">';
htmlToPush += '</li>';
statusHTML.push(htmlToPush);
}
document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}