2011-09-05 82 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