У меня есть эта HTML-структура:
<div id="home">
<div class="section_header">
<h1 class="left" data-target="newest"><?=lang('home_newest');?></h1>
...
</div>
<div id="newest">
...
</div>
<div class="section_header">
<h1 class="left" data-target="best"><?=lang('home_newest');?></h1>
...
</div>
<div id="best">
...
</div>
</div>
Я пытаюсь сделать функцию переключения / показа и скрытия, чтобы работать при нажатии .section_header> h1 , чтобы показать элемент div сидентификатор определен в data-target внутри тега h1 и скрывает остальные, но всегда имеет одно открытое и #newest открытое по умолчанию при загрузке страницы.
Я пробовал:
$('.section_header h1').click(function(){
var selected = $(this).data('target');
//$('#'+selected).hide().filter('#'+selected).show();
$('#home > #'+selected).hide();
}).first().click();
закомментированная строка не работает, но .hide только она делает.
Я нашел это: http://www.learningjquery.com/2007/02/more-showing-more-hiding и подумал, что это может работать, но мне не удалось определить, какой div закрыть иshow
Редактировать: Есть еще одна вещь, как это можно сделать, когда при нажатии на видимый div, чтобы закрыть его и открыть следующий?