他の要素に影響を与えることなく、実際のコンテンツに対していくつかの結果(コメントの返信)を表示または非表示にするjqueryのヘルプを探しています。問題は、[さらに表示] をクリックすると、すべての div のすべての要素が同時に表示されることです。この問題を解決するにはどうすればよいですか? ガムさんありがとう
// html5
<div class="user_comments">
<p> This is the main comment ..... </p>
<article class="user_replies"> <p class="reply"> test2 </p> </article>
<article class="user_replies"> <p class="reply"> test </p> </article>
<article class="user_replies"> <p class="reply"> ok2 </p> </article>
<article class="user_replies"> <p class="reply"> ok1 </p> </article>
<article class="user_replies"> <p class="reply"> My first comment </p> </article>
<p class="viewMore"> <a href="#"> view more </a> </p>
<p class="viewLess"> <a href="#"> view less </a> </p>
</div>
<div class="user_comments">
<p> This is the main comment ..... </p>
<article class="user_replies"> <p class="reply"> Thank you 1 </p> </article>
<article class="user_replies"> <p class="reply"> Thanks </p> </article>
<article class="user_replies"> <p class="reply"> test 6 </p> </article>
<article class="user_replies"> <p class="reply"> another test </p> </article>
<article class="user_replies"> <p class="reply"> test comment reply.</p> </article>
<article class="user_replies"> <p class="reply"> My reply to view more.</p> </article>
<article class="user_replies"> <p class="reply"> 4 reply </p> </article>
<article class="user_replies"> <p class="reply"> Third reply </p> </article>
<article class="user_replies"> <p class="reply"> my second ... </p> </article>
<p class="viewMore"> <a href="#"> view more </a> </p>
<p class="viewLess"> <a href="#"> view less </a> </p>
</div>
// This is jquery code:
// Show more replies:
$('.user_comments').find('.user_replies:gt(3)').hide();
$('.viewMore, .viewLess').click(function(e){
e.preventDefault();
$('.user_comments').find('.user_replies:gt(3)').slideToggle(500);
if($(this).hasClass('viewLess') === true) {
$('.viewMore').show();
$('.viewLess').hide();
} else {
$('.viewLess').show();
$('.viewMore').hide();
}
});// End of show more replies.
// CSS
.viewLess { display: none;}