2010-06-21 2 views
0
<script type='text/javascript'> 
$(document).ready(function() { 
    $('div.Syb> div').hide(); 
    $('div.Syb> h4').click(function() { 
    var span = $(this).children('span:first').attr('class'); 

    // span.text(span.text()=='+'?'-':'+'); 


    span = (span == 'plus')?'minus':'plus'; 

    $(this).children('span:first').attr('class',span); 

$(this).next('div').slideToggle('fast') 
.siblings('div:visible').attr('css','plus').slideUp('fast'); 

// $(this).siblings('div.Syb>h4 >span:first').attr('css','plus'); 

    }); 
}); 
</script> 

Когда-либо когда-либо закрывается div, нужно поставить символ + символ назад ..., который я не могу сделать .. помощь по этому поводу?accordian + and - symbol help

<div class="Syb"> 
    <h4><span class='plus'></span>Title 1</h4> 
    <div>Lorem...</div> 
    <h4><span class='plus'></span>Title 2</h4> 
    <div>Ipsum...</div> 
    <h4><span class='plus'></span>Title 3</h4> 
    <div>Dolor...</div> 
</div> 

мой HTML

+0

согласен с ним, если он работает –

ответ

0

Вы можете использовать .toggleClass(), как это:

$(this).children('span:first').toggleClass('plus minus'); 

Я не могу быть уверен, что селектор, чтобы найти <span> прав без HTML, хотя. Поскольку элемент имеет один класс или другой, переключатель обоих эффективно меняет их, короткий и простой :)

+0

@Nick Craver - я думаю, у вас есть мой вопрос не так. когда элемент открывается. я должен сделать все остальные элементы span class to + .. как это сделать. – Hacker

+0

@pradeep - Если ваша структура - это то, что я думаю, попробуйте '$ (this) .siblings ('div'). Children ('span: first'). AddClass ('plus'). RemoveClass ('минус'). ; ' –

+0

@ Ник Кравер - не работал для меня, чувак. Hacker