我在这里有这个jQuery代码:
$(".replies_hide").click(function(e) {
$(".replies_show").show(); // This is only button code. Not replies
$(".replies").hide(300); // I need to hide only these replies. Not all replies
e.preventDefault();
});
当我点击“显示回复”按钮时,它会显示特定评论的回复。但是当我点击“replies_hide”时,它会立即关闭所有回复。如何隐藏我刚刚开放的回复?
HTML:
<ul class="list-unstyled replies">
<a class="replies_hide" href="#">Hide replies</a>
@foreach($com->reply as $reply)
<li style="margin-left: 5%">
<img src="http://flipbit.co.uk/content/images/blog/build-avatar.jpg" style="height: 30px">
<strong>{{$reply->user->name}}</strong>
{!! strtr(strip_tags($reply->reply), $emotes) !!}<br>
<small>{{$reply->created_at}}</small>
@if(Auth::user()->id == $reply->user_id)
<a href="/trinti-atsakyma/{{$reply->id}}">Trinti</a>
@endif
</li>
@endforeach
</ul>
答案 0 :(得分:0)
这种情况正在发生,因为您隐藏了回复类的所有元素。您必须只隐藏您所在的html元素。试试这个:
$(this).hide();
答案 1 :(得分:0)
使用HTML标记,您似乎只想隐藏包含您点击的ul
按钮的hide
块以及相关回复,以便您需要找到最接近的{{ 1}}阻止你点击的按钮。
为此,您可以使用:
ul
它将通过测试元素本身并遍历DOM树中的祖先来获得与选择器匹配的第一个元素。