0

如何在coffeeScript中編寫此JavaScript代碼?從Javascript到CoffeeScript

$('#id_tab a').click(function (e) { 
    $('ul.nav-tabs li.active').removeClass('active') 
    $(this).parent('li').addClass('active') 
}) 

它工作時,我把它放在我的html.erb文件

因此,我想這在CoffeeScript的文件:

$ -> 
    $('#id_tab a').click (e) -> 
     $('ul.nav-tabs li.active').removeClass 'active' 
     $(this).parent('li').addClass 'active' 

而且這是行不通的。 請幫忙!

+0

任何控制檯錯誤? – Nishant 2013-02-08 13:43:51

+1

你已經完成了。 *是*你如何在CoffeeScript中編寫代碼。您的問題在此代碼的外部,可能與文件的實際包含有關。嘗試在文件頂部添加一個alert(「!!!」)',看看這個文件是否包含在你的頁面中。 – meagar 2013-02-08 13:46:27

+0

CoffeeScript中的第一行「$ - >」是額外的。如果在原始JS代碼中有$(function(){...},那麼只需要該行。 – 2013-02-08 16:26:44

回答

2

有一個很好的網站JS2Coffee,你可以用它來檢查你的腳本。你會看到你的咖啡腳本編譯爲:

$(function() { 
    return $('#id_tab a').click(function(e) { 
    $('ul.nav-tabs li.active').removeClass('active'); 
    return $(this).parent('li').addClass('active'); 
    }); 
}); 

相反,試試這個:

$ -> 
    $('#id_tab a').click (e) -> 
     $('ul.nav-tabs li.active').removeClass 'active' 
     $(this).parent('li').addClass 'active' 
     true 
    true 

您可以查看該StackOveflow答案的詳細信息,但CoffeeScript的總是返回的最後一行。

相關問題