1
$('#btn2').toggle(
    function () {
        $('#btn2').text('show');
    },
    function () {
        $('#btn2').text('hide');                
    }
)

这在我的计算机(在任何浏览器上)上不起作用。这可能是由于 jQuery 版本之间的方法发生了变化吗?

4

4 回答 4

1

根据您更新的功能请求,只需在两个内部文本值之间交替:

$('#btn2').click(function() {
    $(this).text( $(this).text()=='show'? 'hide':'show' );
});


这不是 的签名之一toggle。要使用它的隐藏/显示功能,请执行此操作$(elem).toggle()(显然,如果按钮被隐藏,它不能说“显示”,所以大概你正在切换其他东西):

$(elem).toggle();
$('#btn2').text( $(elem).is(':visible') ? 'hide' : 'show' );
于 2013-02-14T06:33:55.997 回答
1

试试这个:http: //jsfiddle.net/W9JCR/

$('#btn2').click(function () {
   ($(this).text()=='show') ? $(this).text('hide') : $(this).text('show');
});
于 2013-02-14T06:47:05.143 回答
1

小提琴

这个功能.toggle在 jQuery 1.9 中被移除

所以这不适用于 jQuery 1.9 或更高版本..

在此处查看另一种选择

于 2013-02-14T06:45:14.880 回答
0

是的,它仍然受支持。我认为您的代码的问题在于您使用了text(). 利用val()

$('#btn2').toggle(function () {
    $('#btn2').val('show');
    },function () {
        $('#btn2').val('hide');                
});
于 2013-02-14T06:33:07.497 回答