Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Текущий div с классом (https://javascript.ru/forum/jquery/41503-tekushhijj-div-s-klassom.html)

SergeyMiracle 16.09.2013 19:28

Текущий div с классом
 
Всем привет.

Есть у меня задачка, что-то весь день пробую так да эдак и не получается... В общем есть input type checkbox, есть div class hidden, все это в section class j, таких section неограниченное количество, соответсвенно и inputов столько же :) что хочу сделать, по клику - change - прятать или показывать div hidden, простой toggle в общем...
$('.still').change(function(){
	   $(this).closest('.job_hidden').toggle();
	});

Так не хотит :(
$('.still').change(function(){
	   $('.job_hidden').toggle();
	});

Так тоглит все дивы... а нужен тот который находится с инпутом в section текущем... подскажите как тоглить только текущий?

bes 16.09.2013 19:36

сделай полный тестовый пример из двух секций, с возможностью запуска [html run]

рони 16.09.2013 19:38

SergeyMiracle,
перебор всех секций и присвоение инпуту каждой секции на закрытие открытие дива этой секции

mi.rafaylik 20.09.2013 13:16

Если структура вложенности такая
<section class='j'>
	<input class='still' type='checkbox'>
	<div class='job-hidden'></div>
</section>

<section class='j'>
	<input class='still' type='checkbox'>
	<div class='job-hidden'></div>
</section>

тогда нужно выйти на уровень родителя (в Ваш класс j) и выбрать дочерний div, который нужно затугглить.
$('.still').change(function(){
	$(this).parent().children('.job_hidden').toggle();
});

А вообще советую давать классам понятные имена.
Через время нужно будет изменить код, и имя "j" Вам ни о чём не скажет.


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