2016-12-18 4 views
1

ユーザーが自分のコメントボタンをクリックすると、その投稿のコメントを表示します。今のところ、ページの読み込みでは、これらのコメントはクラスによって隠されています。ビューをユーザーに切り替えるために特定のクラスをターゲットに設定するにはどうすればよいですか?

コメントの表示を非表示にする方法や、ユーザーが特定のコメントボタンをクリックして投稿のコメントのみを表示する方法を理解できません。

今は投稿ごとにすべてのコメントを表示しています。

私はpost._idを使用して特定のコメントをターゲットに設定できますが、そのデータの使用方法は不明です。何かご意見は?

ジェイドファイル

.fullPostContainer 
      each post in posts 
       .media.white.paddingBoxForPost 
        .media-left.media-middle 
         a.removeTextDeco(href=post.link, target='_blank') 
          img.media-object(src=post.img, alt='facebook logo') 

        .media-body 
         a.removeTextDeco(href=post.link, target='_blank') 
          div#mainTitlePost.media-heading.postTitleFont= post.title 
          div#mainShortDesc.descriptionFont= post.description 
         //form.formSub 
         // label(for='upvote') 
         button.upvoteClick.btn.btn-lg.btnColor(value= post._id) 
          span.glyphicon.glyphicon-fire= post.upvote 
         button.btn.commentsInit.btn-lg.btnColor(value= post._id) 
          span.glyphicon.glyphicon-comment 
       .commentsForTheWin.hideOnLoad 
         p this is some text 
         span 

JSファイル

$(function() { 

$('.commentsInit').click(function() { 


    // grabs value of button which is post._id 
    // var uniCommID = $(this).attr("value"); 


    $('.hideOnLoad').toggle("slow"); 


    $.ajax({ 
     type: "GET", 
     url: "/api/comments" 
    }).success(function (users) { 

     var a = JSON.stringify(users); 
     $('.commentsForTheWin span').text("Comments but not really for " + a); 

    }) 

}) 

}); 

(私は今の私のDBから欲しいものを正確に取得していますが、私はただ、特定のクラスをターゲットにする方法を考え出す最も困難な時間を過ごしていますまたはそれが可能であっても)。

+1

それが何を、どこで隠し、示す必要が非常に明確ではありません、HTMLが必要です。 – zer00ne

+0

また、データの応答がどのようになっているかを確認します。 – charlietfl

答えて

0

私は、.commentsInitボタンから木をたどるためにjQuery .closest()を使用しました。変数に親の参照.paddingBoxForPostを保存し、関連する要素をターゲットにするために使用しました。

$(function() { 
    $('.commentsInit').click(function() { 

    // grabs value of button which is post._id 
    // var uniCommID = $(this).attr("value"); 

    var $post = $(this).closest('.paddingBoxForPost'); 

    $post.find('.hideOnLoad').toggle("slow"); 

    $.ajax({ 
     type: "GET", 
     url: "/api/comments" 
     }).success(function(users) { 
     var a = JSON.stringify(users); 
     $post.find('.commentsForTheWin span').text("Comments but not really for " + a); 
    }) 
    }) 
}); 
+0

私はこの仕事を得ることができなかった。私は現在、いくつかの異なるトラバース方法を試していますが、どちらかを働かせるようには見えません。 –

+0

@AndrewLittleより多くの情報を必要としています。例を見ることができないまま、盲目のブラインド。あなたはJSFiddleを設定できますか? –

関連する問題