jQuery Accordion должен ВСЕГДА показывать таблицу в каждом div - PullRequest
0 голосов
/ 24 августа 2011

Я использую меню в стиле аккордеона для переключения следующей области div, когда вы щелкаете по его родительскому элементу h3.

$(document).ready(function() {
    $('div.accordian-content> div').hide();
    $('div.accordian-content> h3').click(function() {
    $(this).next('div').slideToggle('medium')
    .siblings('div:visible').slideUp('medium');
});
});

код отлично работает со следующей структурой.

<div class='accordian-content'>
<h3>Some title</h3>
<div>content to be toggled</div>
</div>

Проблема в том, что я пытаюсь использовать таблицу между h3 и следующим div, и я хочу, чтобы таблица всегда отображалась, но когда вы помещаете туда таблицу, родительский h3 переключает разрывы.

<div class='accordian-content'>
<h3>Covers </h3>
<table id='covers'>Table content </table>
    <div>Ajax content</div>
</div>

Буду очень признателен за любой совет, так как я потратил много времени на эту глупую вещь.

Ответы [ 2 ]

3 голосов
/ 24 августа 2011

Замените next('div') на nextAll('div'), и все будет в порядке. http://jsfiddle.net/VJCV9/

0 голосов
/ 24 августа 2011

Насколько известно, таблицы не slideUp(), а также, </div be </div>?$(this).next('div') должно быть .next(table).children(div)

...