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/

..现在这几乎可以工作,除非您第一次单击触发器,它现在不会更新标签,它仅在第二次单击时才有效。

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 回答