2

不太知道如何命名这个问题。我的问题可能相当简单,但我不知道正确且有效的解决方案。

if ( rt > 0 ) retweets = '<div class="stats"><b>' + rt + '</b> Retweets</div>';

var tweet = 
'<article class="item tweet">' +
    '<h4 class="tweet_from_user_name">' + tw.from_user_name +
    '<p class="tweet_text">' + tw.text + '</p>' +
    retweets + 
'<article>';

$('#twitter').html(tweet);

所以我遇到的问题是这个。我正在打印一条带有“用户名”和“推文文本”的推文,并希望显示“转推”,但前提是它们可用。

所以我不想写“0转推”,而只是不显示<div>包含转推的内容。

如果小于 0 ,我如何确保该retweets变量不是 printet rt。现在这可以工作。然而唯一的是,如果小于 0 ,那retweets现在是未定义的。rt

感谢您的帮助。

4

7 回答 7

2
var retweets = "";
if ( rt > 0 ) retweets = '<div class="stats"><b>' + rt + '</b> Retweets</div>';
于 2013-03-05T21:30:42.323 回答
1
retweets = (rt > 0) ? ('<div class="stats"><b>' + rt + '</b> Retweets</div>') : "";
于 2013-03-05T21:30:24.107 回答
1

这是一种没有任何额外变量的捷径:

var tweet = 
'<article class="item tweet">' +
    '<h4 class="tweet_from_user_name">' + tw.from_user_name +
    '<p class="tweet_text">' + tw.text + '</p>' +
    (rt > 0 ? '<div class="stats"><b>' + rt + '</b> Retweets</div>' : '') + 
'<article>';
于 2013-03-05T21:30:24.493 回答
1

retweets如果没有转推,则设置为空字符串

if ( rt > 0 ) {
    retweets = '<div class="stats"><b>' + rt + '</b> Retweets</div>';
} else {
    retweets = '';
}
于 2013-03-05T21:30:44.847 回答
0

你可以试试三元

var tweet = 
'<article class="item tweet">' +
    '<h4 class="tweet_from_user_name">' + tw.from_user_name +
    '<p class="tweet_text">' + tw.text + '</p>' +
    (rt > 0 ? retweets : "") + 
'<article>';
于 2013-03-05T21:30:51.487 回答
0
retweets = (rt > 0) ? '<div class="stats"><b>' + rt + '</b> Retweets</div>' : '';

rt基本上,如果小于或等于 0 ,则将其设置为空字符串。

于 2013-03-05T21:30:57.887 回答
0

只需使用 if 语句

if ( rt > 0 ) retweets = '<div class="stats"><b>' + rt + '</b> Retweets</div>';

var tweet = 
'<article class="item tweet">' +
    '<h4 class="tweet_from_user_name">' + tw.from_user_name +
    '<p class="tweet_text">' + tw.text + '</p>';
if rt > 0 {
 var tweet+= retweets
}
var tweet+='<article>';

$('#twitter').html(tweet);
于 2013-03-05T21:31:21.813 回答