正确使用jQuery切换方法

时间:2013-02-14 06:28:45

标签: javascript jquery toggle

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

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

4 个答案:

答案 0 :(得分:1)

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

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

<小时/> 这不是toggle的签名之一。要使用其隐藏/显示功能,请执行此操作$(elem).toggle()(显然,如果按钮被隐藏,则无法显示'show',因此可能是您正在切换其他内容):

$(elem).toggle();
$('#btn2').text( $(elem).is(':visible') ? 'hide' : 'show' );

答案 1 :(得分:1)

请参阅fiddle

This functionality of .toggle was removed in jQuery 1.9

这是jQuery 1.9或更高版本的wont work ..

请参阅另一个here

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

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