2010-06-21 89 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被關閉需要把+符號回來......我無法做到這一點......任何幫助?手風琴+和 - 符號幫助

<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

接受ans如果它的工作 – 2010-09-17 07:59:22

回答

0

您可以使用.toggleClass(),像這樣:

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

我不能肯定的是,選擇找到<span>是正確的,而不HTML雖然。由於元素有一個類或其他,切換兩者有效地互換它們,簡短和簡單:)

+0

@Nick Craver - 我想你讓我的問題錯了。當一個元素打開時。我必須讓所有其他元素跨班+ + ..我怎麼做到這一點。 – Hacker 2010-06-21 17:53:04

+0

@pradeep - 如果你的結構是我認爲的,試試'$(this).siblings('div')。children('span:first')。addClass('plus')。removeClass('minus') ;' – 2010-06-21 18:01:55

+0

@Nick Craver - 對我不起作用。 ('div.Syb> div')。hide(); $('div.Syb> h4');( ) ).click(function(){var span = $(this).children('span:first')。attr('class'); // span.text(span.text()=='+ ''''''''); $(this).children('span:first')。toggleClass('plus minus'); $(this).siblings('div')。children ('span:first')。addClass('plus')。removeClass('minus'); \t $(this).next('div')。slideToggle('fast') \t .siblings('div :visible')。slideUp('fast'); }); }); – Hacker 2010-06-21 18:35:22