2012-11-21 59 views
0

我正在使用Facebook評論只有訪問HTML。沒有服務器端腳本。如何在數字爲1時顯示單詞「評論」,否則使用Javascript顯示「評論」?

我的默認輸出是「#Comments」。

<a class="comments" href="URL"><div class="fb-comments-count" data-href="URL"></div> Comments</a> 

如何使用Javascript使「評論」變成「評論」如果評論數1?

謝謝你的幫助!

編輯:

我使用的是標準的Facebook評論標籤:https://developers.facebook.com/docs/reference/plugins/comments/

的輸出HTML是:

<a class="comments" href="URL"><div class="fb-comments-count" data-href="URL" fb-xfbml-state="rendered"><span class="fb_comments_count">4</span></div> Comments - Click to Add Yours</a> 

我想只說 「評論:」 如果它是0 ,或大於1的任何值。並且評論是否爲1.

+1

你存儲號碼的部分在哪裏? –

+1

什麼是html結構,當你有評論(以及當你有多個評論時)..根據改變,計算重複的html元素並相應地設置你的文本..(也許你的細節太低) –

回答

0

你可以使用jQuery.length來耦合NT多少評論類的實例存在,那麼如果數爲1,你可以使用jQuery.HTML改變DIV

這樣的內容...

var commentCount = $('.FBcomment').length(); 

if(commentCount == 1){ 

$('.comments').html('Comment');//would be more efficient to have an id here rather than a class 

} 
+0

這是未經測試的方式,只是把它扔在一起 – jampez77

0
function commentText(numberOfComments){ 
return "comment" +((numberOfComments > 1)?"s":""); 

} 

使用Facebook JS SDK找到多少評論。

0

您可以使用此功能:

function comment_text(num_comments){ 
    return 'comment'+ (num_comments === 1 ? '' : 's'); 
} 

像這樣:

var comment_count = $('.fb-comments-count').text(); 
$(selector).text('Showing '+ comment_count + comment_text(comment_count)); 

注:我已經改變了num_comments > 1num_comments === 1因爲你想顯示0條評論,而不是0條評論

0

希望這有助於:

<a class="comments" href="URL"><div class="fb-comments-count" data-href="URL">6</div> <span class="comment-text">Comments</span></a>   
    <a class="comments" href="URL"><div class="fb-comments-count" data-href="URL">0</div> <span class="comment-text">Comments</span></a>   
    <a class="comments" href="URL"><div class="fb-comments-count" data-href="URL">1</div> <span class="comment-text">Comments</span></a>   
    <a class="comments" href="URL"><div class="fb-comments-count" data-href="URL">3</div> <span class="comment-text">Comments</span></a>   
    <script type="text/javascript"> 
    $(document).ready(function(){ 
     $(".comments").each(function(){ 
      var count = parseInt($(this).find(".fb-comments-count").text()); 
      if(count > 1){ 
       $(this).find(".comment-text").text('Comments'); 
      } 
      else if(count == 0){ 
      $(this).find(".comment-text").text(''); 
      } 
      else{ 
       $(this).find(".comment-text").text('Comment'); 
      } 
     }); 
    }); 
    </script> 
+0

感謝您在這裏的答案。我真的認爲這會起作用,但無論如何,它似乎都顯示「評論」。我嘗試修改你的代碼,但仍然無法得到它。 – jasonbarone

+0

更新了我的代碼 –