2013-03-15 173 views
0

我在這段代碼上收到語法錯誤,但我不知道爲什麼。if/else語句中的語法錯誤

$(".choose-one .monthly, .choose-one .yearly").live("click", function() { 
    billing_selection(); 
}); 

function billing_selection() { 
    if($(this).hasClass("yearly") { 
     $(this).addClass("selected"); 
     $(".billing-options-hidden option:eq(1)").attr('selected', 'selected'); 
    } else { 
     $(this).addClass("doSomething"); 
    } 
} 

這是我的第一篇文章,請溫柔。

+1

注意'this'在你的功能不參考到被點擊的元素。 – undefined 2013-03-15 12:00:28

+0

這是我的下一個問題。爲什麼'this'不是指被點擊的對象? – Fettabachi 2013-03-15 12:09:49

+0

由於您在處理程序的上下文中調用該函數,因此這裏的_'這個是指element_,您可以編碼,'$(「。choose-one .monthly,.choose-one .yearly」)。live 「點擊」,billing_selection)'。話雖如此,請注意,「live」方法已被棄用,您可以使用「on」方法。 – undefined 2013-03-16 00:18:45

回答

1

missed右括號

if($(this).hasClass("yearly")) 
          ^
1

添加缺少的括號:

// --------------------------v 
if($(this).hasClass("yearly")) { 
0

你沒有關閉if正確

function billing_selection() { 
    if($(this).hasClass("yearly")){ 
     $(this).addClass("selected"); 
     $(".billing-options-hidden option:eq(1)").attr('selected', 'selected'); 
    } else { 
     $(this).addClass("doSomething"); 
    } 
}