Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как выбрать следующий элемент с классом (https://javascript.ru/forum/jquery/15512-kak-vybrat-sleduyushhijj-ehlement-s-klassom.html)

zsaz 02.03.2011 11:32

Как выбрать следующий элемент с классом
 
<table>
<tr>
<td><div class="click_block"><a href="javascript: void(0)">Редактировать</a></div></td>
</tr>
<tr class="show_block">
<td>Появляющееся поле 1</td>
</tr>
<tr>
<td><div class="click_block"><a href="javascript: void(0)">Редактировать</a></div></td>
</tr>
<tr class="show_block">
<td>Появляющееся поле 2</td>
</tr>
</table>


show_block по умолчанию скрыт. При нажатии на ссылку должно появляться новая строка с текстом.

я сделал такой код
$(document).ready(function () {
$('.click_block').click(function () {
$(this).next('.show_block').slideToggle('medium');
});
});

Но он работает не так, как надо. Т.е. ищет следующий (других тегов между ними быть не должно) тег DIV с классом show_block, даже если click_block присвоить TD или <A>, то будет искаться следующий тег TD или <A> с классом show_block. А нужно чтобы искался любой тег с классом show_block, даже если он через 500 символов после click_block

Надеюсь понятно объяснил.

monolithed 02.03.2011 11:59

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> 

<style>dd {display: none;}</style>
<script>
$(function() {
    $('dt').click(function(event) {
        $(this).next('dd').slideToggle('medium');
        event.preventDefault();
    });
});
</script>

<dl>
    <dt><a href="#">click1</a></dt>
    <dd>открыли click1</dd>
    <dt><a href="#">click2</a></dt>
    <dd>открыли click2</dd>
</dl>


Часовой пояс GMT +3, время: 09:15.