2011-09-05 117 views
1

我有一個非常簡單的JavaScript操作,這只是不工作。我正在使用twitter-bootstrap CSS,並試圖實現關閉消息框的關閉。我有我的代碼在這裏:Jquery點擊()函數不識別鏈接被點擊

http://jsfiddle.net/YQgpe/

HTML

<div class = "alert-message success" id = "message_1"> 
    <a class = "close" href = "#">x</a> 
</div> 

的JavaScript

function hideSomething(which_thing) 
{ 
    $(which_thing).hide(); 
} 

$(".close").click(function() 
{ 
    hideSomething("#" + $(this).parent().attr("id")); 
}); 

基本上我想同樣的 「親潮」 級鏈接隱藏的div點擊時 - 因此父ID的請求。但即使jslint告訴我我的代碼是有效的 - 它仍然不起作用。

任何想法如何解決這將不勝感激。 http://jsfiddle.net/YQgpe/10/

然而,你的代碼可以簡化爲:

$(".close").click(function() { 
    $(this).parent().hide(); 
}); 

你已經對其父的引用,有沒有需要尋找

+0

很明顯,我只是不正確地使用jsfiddle。該代碼在我的網站中無法使用,所以錯誤必須是其他內容...搜索仍在繼續。 – user714852

回答

4

試試這個,我只是刪除了js皮棉,它的工作原理。

http://jsfiddle.net/YQgpe/15/

+1

是的,我做了同樣的事情,它的工作:) Ps:也是一個好主意,使用「返回false」;以防止鏈接href被執行。 – Zuul

+0

是的,從'click'處理器返回false'會停止它的默認行爲。 – ShankarSangoli

+0

感謝您的返回提示錯誤 - 我會把這個使用。 – user714852

4

如果刪除jQueryLint (edge)作爲庫它的工作原理它再次通過其ID。

+0

謝謝你的提示。我知道我正在使用一些關於這樣做的方式,但我正試圖在我的js中實現MVC - 仍然要整理出這意味着什麼。 – user714852