-4

切り替えるときに+を-に変更する必要があります。コードはhttp://jsfiddle.net/B65Ht/で設定されています

HTML

<a class="expandB" href="#">
   <h3>Advocacy + </h3>
</a>
<div class="content">
    Content goes here
</div>

jQuery

$(document).ready(function(){
    $('.content').hide();
    $("a.expandB").click(function() {  
        $(this).toggleClass("expandB").next().slideToggle("slow", function(){

       // script to toggle between + and -
     });

return false; //Prevent the browser jump to the link anchor/Prevent the browser jump to the link anchor
});


});​

</ p>

4

4 に答える 4

3

jsフィドル

次のようなことができます。

 $("a.expandB").click(function() {

        var $a = $(this);            
        var $h3 = $a.find('h3');             
        $(this).toggleClass("expandB").next().slideToggle("slow", function() {
             var text = $h3.text();
             $a.hasClass('expandB') ? $h3.text(text.replace('-', '+')) : $h3.text(text.replace('+', '-')); 
        });
        // Toggles the text from expand to Collapse
       return false; //Prevent the browser jump to the link anchor
    });
于 2012-07-06T15:24:45.160 に答える
0
$("a.expandB").click(function() {  
    var t=$(this);
    t.toggleClass("expandB").next()
    .slideToggle("slow", function(){
        if(t.hasClass('expandB')) $('h3', t).html('Advocacy +'); 
        else $('h3', t).html('Advocacy -'); 
    });
    return false;
});

デモ。

于 2012-07-06T15:33:03.177 に答える
0

あなたの質問はこれと非常に似ているので、あなたの答えもおそらく似ているでしょう:

jQuery .click() .toggle() - 表示の変更と文字の交換

于 2012-07-06T15:26:00.833 に答える
0

余分なクラスは必要ありません。.text();を介して交換するだけです。

$("a.expandB").click(function() {  

    $('span', this).text( $('span').text() == '+' ? '-' : '+');

    $(this).toggleClass("expandB").next().slideToggle("slow");    

    return false;

});

http://jsfiddle.net/iambriansreed/aZaBe/3/

于 2012-07-06T15:26:25.863 に答える