2013-02-14 78 views
1
$('#btn2').toggle(
    function() { 
     $('#btn2').text('show'); 
    }, 
    function() { 
     $('#btn2').text('hide');     
    } 
) 

這不適用於我的電腦(在任何瀏覽器上)。這可能是由於jQuery版本之間的方法發生了變化嗎?正確使用jQuery切換方法

+2

如果您要檢查,如果事情是(仍然)支持,您選中[文件](http://api.jquery.com/)。它具有關於適當使用的非常好的細節,以及添加/刪除功能的版本。這應該永遠是你的第一站,並且在提問之前一定要這樣做。 – nbrooks 2013-02-14 06:38:57

回答

0

是的,它仍然支持。我認爲你的代碼存在的問題是你使用了text()。使用val()

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

每更新的功能要求,只需兩個內部文本值之間交替:

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


這不是 toggle一個簽名。要使用它的隱藏/顯示功能,這樣做 $(elem).toggle()(顯然,如果按鈕隱藏在它不能說「秀」,那麼想必你切換別的東西):

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

抱歉,我只是希望按鈕上的文字(值)從「顯示」變爲「隱藏」,「隱藏」爲「顯示」...。一旦被點擊。一次又一次 – user2049259 2013-02-14 06:41:35

+0

@ user2049259注意:如果您使用'',使用'text',但是如果您使用''使用'val'。工作演示:http://jsfiddle.net/TxXVB/ – nbrooks 2013-02-14 06:50:29

1

試試這個:http://jsfiddle.net/W9JCR/

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