2011-06-22 5 views
1

私のコードに問題があります。jQuery:クリックして内容を表示する際の文章を変更

私は、クリック

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('.pokus1').hide().before('<a href="#" id="toggle-example1" class="show" ><div class="nadpis"><div class="nadpis2">Zumba</div><div class="open-close">Otevřít</div></div></a>'); 


     $('a#toggle-example1').click(function() { 
     $('.pokus1').slideToggle(300); 
     $(this).html($(this).html() == 
     '<a href="#" id="toggle-example1" class="show" ><div class="nadpis"><div class="nadpis2">Zumba</div><div class="open-close">Otevřít</div></div></a>' 
     ? 
     '<a href="#" id="toggle-example1" class="show" ><div class="nadpis"><div class="nadpis2">Zumba</div><div class="open-close">Otevřít</div></div></a>' 
     : 
     '<a href="#" id="toggle-example1" class="show" ><div class="nadpis"><div class="nadpis2">Zumba</div><div class="open-close">Zavřít</div></div></a>'); 
    return false; 
    }); 
}); 

    </script> 

上の変更テキストを持っている必要があります。しかし、私が変更されたとき、私は、1クリックテキストの変更、効果なし2.クリックをお持ちの

  $(this).html($(this).html() == 

Scripst $(this).text($(this).text() == へしかし、私はHTMLを持っている必要があります。

アドバイスはありますか?返信用

Thxを、ヴィクトル

答えて

2

代わりにこれをやってみてください。

$('.open-close', this).toggle(function(){ 
     var html = this.innerHTML; 
     if(html != 'Otevřít'){ 
      this.innerHTML = 'Zavřít'; 
     } 
}) 

更新フィドルのために変更する開閉と:

$('a#toggle-example1').click(function() { 
    $('.pokus1').slideToggle(300); 
    $('.open-close', this).toggle(function() { 
     var html = this.innerHTML; 
     if (html == 'Zavřít') { 
      this.innerHTML = 'Otevřít'; 
     } 
     else if (html == 'Otevřít') { 
      this.innerHTML = 'Zavřít'; 
     } 
     this.style.display = 'block'; 
    }) 
    return false; 
}); 

フィドル:http://jsfiddle.net/maniator/uUrRf/

+0

あなたの返信のためのThx、しかし私はkをいけないここでこのコードを追加します。 –

+0

@Viktor ...あなたはフィドルを見ましたか? '$(this).html($ this).html()== ...'の代わりに入れてください。 – Neal

関連する問題