1
$("a.question").click(function () {
    var $this = $(this);
    $this.next(".answer").slideToggle('fast', function () {
        $this.text($(this).is(':visible') ? "Show Question" : "Hide Question");
    });
});

フィドル: http: //jsfiddle.net/9tSww/1/

..これは、トリガーを最初にクリックしたときを除いて、ほとんど機能します。ラベルは更新されません。2回目にクリックしたときからのみ機能します。

4

3 に答える 3

2
$(this).is(':visible')

!$(this).is(':visible')
于 2013-01-16T04:26:30.243 に答える
2

代わりに以下を使用してください。

var $this = $(this);
$this.next(".answer").slideToggle('fast', function () {
  $this.text(function(i, text) {
    return text == 'Show Question' ? 'Hide Question' : 'Show Question';
  });
});
于 2013-01-16T04:26:40.193 に答える
1

またはに変更:visibleします:hidden

http://jsfiddle.net/9tSww/2/

于 2013-01-16T04:34:44.797 に答える