Добрый день!
Есть следующая структура (меню с эффектом accordion):
<dl id="left_menu">
<dt>Item 1</dt>
<dt>Item 2</dt>
<dd>SubItem 2.1</dd>
<dt>Item 3</dt>
<dd>SubItem 3.1</dd>
<dt>Item 4</dt>
<dt>Item 5</dt>
</dl>
Если кликнуть на dt, которые не содержат dd, нужен class="active", а если содержат - class="arrow".
Пробовал функции: next(), nextUntil(), siblings(), is(), но безрезультатно.
Оригинальный код:
var item = menu.find('dt');
var subitems = menu.find('dd');
item.click(function (event) {
item.removeClass('active');
$(this).addClass('active');
var subitem = $(this).next('dd:first');
if( subitem.length == 0 ){
subitems.removeClass('active').slideUp();
}
if (typeof (subitem) == 'object')
if (subitem.length > 0) {
if (subitem.is('.active'))
subitem.removeClass('active').slideUp();
else {
subitems.removeClass('active').slideUp();
subitem.addClass('active').slideDown();
}
event.preventDefault();
event.stopPropagation();
}
});
subitems.hide();
Направьте, пожалуйста, на путь истинный!
Заранее благодарен