2013-04-30 3 views
3

как я могу найти следующий «комментарий» и показать его после нажатия «читать»?Как я могу найти с jQuery следующий элемент?

<div class="preview"> 
<div class="messages"> 
    <div class="msg"> 
     <div class="circle left"><img src=""></div> 
     <div class="name">Lars Mehrhoff</div> 
     <div class="sep_20"></div> 
     <a href="#" class="read"><i class="icon-comment"></i></a> 
     <a href="#" class="reply"><i class="icon-reply"></i></a> 
     <a href="#" class="read"><i class="icon-ok"></i></a> 
     <a href="#" class="trash"><i class="icon-trash"></i></a> 
     <div class="comment">ASD</div> 
    </div> 

    <div class="clearfix"></div> 

    <div class="msg"> 
     <div class="circle left"><img src=""></div> 
     <div class="name">Lars Mehrhoff</div> 
     <div class="sep_20"></div> 
     <a href="#" class="read"><i class="icon-comment"></i></a> 
     <a href="#" class="reply"><i class="icon-reply"></i></a> 
     <a href="#" class="read"><i class="icon-ok"></i></a> 
     <a href="#" class="trash"><i class="icon-trash"></i></a> 
     <div class="comment">ASD</div> 
    </div> 
</div> 

И мой Jquery код заключается в следующем:

$('.read').click(function(e) { 
    $(this).find('.comment').show(); 
}); 

$('.comment').hide(); 

Я бы отобразить только комментарий, который находится рядом с "читать"

+1

и если 'siblings' не достаточно для вас: HTTP : //stackoverflow.com/a/30089307/274502 – cregox

ответ

4

Вы можете использовать .siblings() метод:

$(this).siblings(".comment").show(); 
+0

Спасибо, отлично работает;) – Evolutio

+1

Я сомневаюсь, что '.next()' будет работать со своей структурой, хотя потому, что это не следующий ближайший сиблин g '.read' –

+0

В этом случае я думаю, что в этом случае неплохо. 'siblings()' будет работать, но только потому, что есть один узел с классом '.comment' на том же уровне, что и элемент' .read'. – antony

1

Попробуйте $(this).siblings('.comment').show();.

0

Вы можете попробовать следующее

$('.read').click(function(e) { 

    $(this).parent().find('.comment').show(); 
}); 

$('.comment').hide(); 

Я надеюсь, что это может помочь

Смежные вопросы