我試圖用下面的代碼更改按鈕的文本。如果語句永遠不會到達其他部分
// hide unavailable courses
$("#availability_button").click(function() {
$(".availability_red").toggle();
if ($(this).val('Show Unavailable')){
$(this).html('Hide Unavailable');
} else {
$(this).html('Show Unavailable');
}
});
按鈕文字在我第一次使用它時會發生變化,但不會再次發生。不知道這是爲什麼,我幾乎達到了我的JS調試知識的極限。
我把一個警報,並證明它永遠不會到達其他路徑。
我在做什麼錯了?
當你傳遞一個參數'.val',它會返回一個jQuery對象,其計算結果始終爲' TRUE'。請參閱文檔以瞭解'.val'的用法:http://api.jquery.com/val/。 – 2012-08-01 17:13:36
你正在使用.val作爲setter,而不是比較的getter。 – jbabey 2012-08-01 17:15:31
如果它永遠不會進入else塊,這是因爲if塊總是計算爲真。 – devundef 2012-08-01 17:16:00