1

我正在整理一個新的應用程序,雖然我通常使用JQuery來處理這樣的事情,但我想將它與Coffeescript進行比較,並選擇正確的方法。此外,我想確保我知道如何使用coffeescript正確調用JQuery。如何使用JQuery關閉此對話框?使用Coffeescript?

對話框在以下DIV:

<div class="alert-message error"> 
    <a class="close" href="#">X</a> 
    <p>Here is some error text</p> 
</div> 

的造型把一個「X」在對話框右邊距。當用戶點擊'X'時,整個div需要消失。

我將使用哪些JQuery代碼或Coffescript代碼來關閉對話框?該對話框可以出現在網站的任何頁面上。

回答

4

試試這個:

$('.close').click(function(){ 
    $(this).parent().hide(); //finds parent element of clicked .close and hides it 
}); 
+0

感謝Samura的代碼!絕對有效。我也希望獲得相同的咖啡文本 - 任何人? –

+0

@Kevin所有你必須要做的事情CoffeeScript-ize它是用' - >'替換'function',並把'{'花括號''''替換掉。 CoffeeScript的#1規則是「它只是JavaScript」。 :) –

+0

@Trevor謝謝。我其實是這樣做了並且解決了它。這是一個簡單的例子,我真的主要希望看到不同的咖啡標記方法。 [btw - 你可以通過我的推特與我聯繫嗎?] –

2

這裏使用的CoffeeScript

$('.close').click() -> 
    $(this).parent().hide() 

// or on 1 line 
$('.close').click() -> $(this).parent().hide() 

// fat arrow version, not 100% sure on this, typing from ipad 
$('.close').click(e) => $(e.target).parent().hide() 

http://jashkenas.github.com/coffee-script/

+0

我只有在你的第一行開頭添加了一個領先的'jQuery - >'後才能完成這項工作。因此,其中一行是:jQuery - > $(「。close」)。click - > $(this).parent()。hide() –

+0

@Kevin那麼JS版本也是如此。使用'jQuery - >'(或者等價地,'$ - >'...除非你做了一些不尋常的事情,你會發現'$ == jQuery')只是確保你的代碼在DOM之後運行已經加載,所以當你做'$('。close')'選擇時,頁面HTML中的'.close'元素就會存在。 –