0

我正在使用只能访问 HTML 的 Facebook 评论。没有服务器端脚本。

我的默认输出是“# Comments”。

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

如果评论数量为 1,我如何使用 Javascript 使“评论”变成“评论”?

感谢您的帮助!

编辑:

我正在使用标准的 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,我只想说“评论”。

4

4 回答 4

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

}

使用 Facebook JS SDK 查找评论数。

于 2012-11-21T10:01:47.953 回答
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 条评论

于 2012-11-21T10:04:10.760 回答
0

您可以使用 jQuery.length 来计算存在多少评论类实例,然后如果数字为 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

 }
于 2012-11-21T10:05:22.787 回答
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>
于 2012-11-21T10:06:03.190 回答