Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   как выбрать родителя? (https://javascript.ru/forum/jquery/21862-kak-vybrat-roditelya.html)

zsaz 27.09.2011 10:30

как выбрать родителя?
 
Помогите пожалуйста. Нужно сделать так, чтобы при нажатии на fs_block_y добавлялся класс active, а у других элементов active удалялся. Я это сделал только для 1 элемента f_shinomontaz, и поэму у меня удаляется еще не там, где нужно. Как сделать удаление только дочерних элементов f_shinomontaz при клике по одному из этих элементов

<div class="f_shinomontaz">
    <div class="fs_top"></div>
    <div class="fs_center">
        <div class="fs">
            <div class="fs_block_y">1</div>
            <div class="fs_block_y">2</div>
            <div class="fs_block_y">3</div>  
        </div>
    </div>
    <div class="fs_bottom"></div>
</div>


<div class="f_shinomontaz">
    <div class="fs_top"></div>
    <div class="fs_center">
        <div class="fs">
            <div class="fs_block_y">1</div>
            <div class="fs_block_y">2</div>
            <div class="fs_block_y">3</div>  
        </div>
    </div>
    <div class="fs_bottom"></div>
</div>	


$('.fs_block_y').click(function(){
	$('.fs div').removeClass('active');

	$(this).addClass('active');
});

YunX 27.09.2011 10:36

Попробуй
$('.fs > *').removeClass('active'); - удаление класса у дочерних элементов .fs
Переход к родителю
$('.fs').parent();
Удаление всех дочерних при нажатии на одного из :
var parent = $('.fs').parent();
$('this > *').removeClass('active');

nikita.mmf 27.09.2011 11:14

$('.fs_block_y').click(function(){
  $(this).addClass('active').siblings('.active').removeClass('active');
})

melky 01.10.2011 00:19

Цитата:

Сообщение от nikita.mmf (Сообщение 128266)
$('.fs_block_y').click(function(){
  $(this).addClass('active')*!*.siblings('.active').*/!*removeClass('active');
})

вау. наконец-то увидел использование этих сиблингсов.

только лучше через делегирование.
$(".fs").delegate('click','.fs_block_y',function(){
  $(this).addClass('active').siblings('.active').removeClass('active');
})


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