2013-06-11 6 views
5

я эта часть много раз на странице:Как выбрать следующий div?

<a class="showComment" style="cursor: pointer;"><i class="icon-comment"></i> Views</a> 
<br /> 
<br /> 
<div class="writeComment" style="height: auto; width: 700px;" dir="ltr" hidden="hidden"> 
</div> 

Я сейчас пишу код в файле JS для a.showComment мыши event.Now Я хочу, чтобы выбрать следующие div.writeComment .Как выбрать его?

+1

определить 'select' it? например, что вы хотите с этим делать? – PlantTheIdea

+2

http://stackoverflow.com/questions/9629213/jquery-select-next-div-element?rq=1 –

ответ

3

следующий() не работал.

nextAll() был для всех элементов .writeComment, которые были после моего .showComment элемента. Но я нашел проблему. Следующий код сделал это.

$('.showComment').click(function(){ 
    $(this).nextAll(".writeComment").first(); 
}); 
-1

Я предполагаю, что вы используете jQuery. В противном случае я настоятельно рекомендую вам сделать это. Он имеет next-statement:

$('#foo').next().css('background-color', 'red'); 

устанавливает элемент после обув го фона: красный.

2

Это может показать вам правильный путь, используя следующий() http://api.jquery.com/next/ Селектор будет следующим:

так:

$('.showComment').next('.writeComment') 

или:

$('.showComment').next().find('.writeComment') 
+0

@PlantTheIdea Спасибо за улучшение :) Очень благодарен за ура! –

+0

не беспокоится, я не очень много хаха. проблема с орфографической ошибкой была единственной реальной проблемой, я просто ненавижу видеть квалификаторы тегов на селекторах, потому что ее ненужные и только служат для того, чтобы сделать ее менее эффективной. – PlantTheIdea

3

В переменной nextDiv вы можете делать все, что хотите
Использование метода .nextAll() позволяет нам искать через последователей этих элементов в дереве DOM и построить новый объект jQuery из соответствующих элементов.

с помощью .next() вместо этого искать после элемента DOM, который вы щелкнули попробовать это:

$('.showComment').click(function(){ 
     var nextDiv = $(this).nextAll("div.writeComment"); 
    }); 

Или

$('.showComment').click(function(){ 
      var nextDiv = $('.showComment').next().find('.writeComment') 
     }); 

Или

$('.showComment').click(function(){ 
     var nextDiv = $(this).next("div.writeComment"); 
    }); 
-1

Используйте селектор ~. JQuery Reference

$('a.showComment ~ div.writeComment') 
+0

Я люблю downvotes без комментариев ... :( – Andy

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