JS:连接html(带+) - >如果条件为真,只打印html?

时间:2013-03-05 21:28:07

标签: javascript jquery

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

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>

如果retweets小于0,如何确保rt变量不是printet。现在这可行。但唯一的问题是,如果retweets小于0,rt现在是未定义的。

感谢您的帮助。

7 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分: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>';

答案 3 :(得分:1)

如果没有转发

,请将retweets设置为空字符串
if ( rt > 0 ) {
    retweets = '<div class="stats"><b>' + rt + '</b> Retweets</div>';
} else {
    retweets = '';
}

答案 4 :(得分: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>';

答案 5 :(得分:0)

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

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

答案 6 :(得分: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);