Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не могу разобраться с навигацией по DOM (https://javascript.ru/forum/dom-window/35818-ne-mogu-razobratsya-s-navigaciejj-po-dom.html)

Iktash 23.02.2013 10:56

Не могу разобраться с навигацией по DOM
 
Помогите, пожалуйста разобраться.
Есть таблица(Привожу одну строчку):
<table>
<tr>
<td><div class="form_check"  data="internet"></div</td><td>Интернет</td>
<td><div class="form_check"  data="smoke"></div></td>
<td>Для курящих</td>
<td><div class="form_check" data="pet"></div></td>
<td>С животными</td>
</tr>
</table>

Я использую эти div как checkbox. В случае выбора добавляю им класс. Выглядит это так:
$('#form_middle_conveniences .form_check').click(function(){
        $(this).toggleClass('form_check_active');
        return false;
    });

И далее при обработке читаю их data. Тут все работает.
Проблема возникла, когда появилась необходимость сделать так, что бы по щелчку на надпись то же менялся класс у div. Написал так:
$('#form_middle_conveniences td').click(function(){
     $(this).closest('tr').children('td').children('.form_check').toggleClass('form_check_active');
        return false;
            });

Думаю, что всем понятно, что таким образом меняется класс у всех div в строке. А как найти только соседнего?
Заранее благодарен за любые советы и отсылы к мануалам - я не нашел ответа на свой вопрос.

danik.js 23.02.2013 11:55

$(this).prev().children('.form_check').toggleClass('form_check_active')

Iktash 24.02.2013 10:29

Спасибо огромное сработало. Я вообще про prev() как-то не знал. Теперь буду курить маны и читать про него.


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