2015-05-26 2 views
0

Я хочу сделать мое меню динамичным.Нажмите кнопку, чтобы отобразить следующий элемент

У меня есть этот HTML вывод:

<dl> 
    <dt class="odd">one</dt> 
    <dd class="odd"> ...</dd> 

    <dt class="even">two</dt> 
    <dd class="even"> ...</dd> 

    <dt class="odd">three</dt> 
    <dd class="odd">... </dd> 

    <dt class="even">four</dt> 
    <dd class="even">... </dd> 

    <dt class="odd">five</dt> 
    <dd class="odd">... </dd> 

    <dt class="even">six</dt> 
    <dd class="even">...</dd> 
</dl> 

Я установил dd в display: none, потому что они являются фильтры. dt - это названия.

Я пытаюсь сделать так, чтобы я нажимаю на dt он должен изменить следующий dd элемент display: block;

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

Любая идея?

+1

, если вы будете искать в Google, чтобы показать или скрыть элемент с помощью jquery у вас есть много примеров – Mivaweb

+0

Я знаю, как сделать jQuery (.even) .show()/hide(); Проблема состоит в том, чтобы сделать динамический для всех и измениться в случае элемента, который вы нажимаете – ntzz

ответ

2

Если вы хотите, чтобы иметь возможность переключения (показать/скрыть) dt s вы можете использовать .toggle -функции JQuery:

$(document).ready(function(){ 

    $('dt').on('click', function(){ 
     $(this).next('dd').toggle(); 
    }); 

}); 

$(this) - объект ссылается на элемент clicked. .next() выберет следующий элемент, соответствующий селектору, в этом случае следующий dd.

Чтобы быть уверенным, вы связываете ваше событие-слушателя к существующему элементу, вам, возможно, придется обернуть свой код с .ready() -listener

Demo

+0

Спасибо большое! Я расскажу, как использовать его на других сайтах. Очень полезно! – ntzz

9

Вы можете использовать next(), который

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

$('dt').click(function(){ 
    $(this).next('dd').show(); 
    }); 

DEMO

+0

только код без описания? – Mivaweb

+0

@Mivaweb, только что добавили демо и собираюсь добавить описание сейчас – AmmarCSE

+0

Ницца, его правильно спасибо, но более полезный код эмпирического, но спасибо! – ntzz

Смежные вопросы