2009-11-03 84 views
0

我想隐藏一个元素,当点击一个ID为'关闭'的图像。jquery试图隐藏元素,当点击一个孩子

$('#close').click(function() { 
    $('#ordercell').hide('slide'); 
}); 

应该是我所需要的,从我所知道的,但是当我点击时没有任何事情发生。

$(document).keyup(function(event) { 
    if (event.keyCode ==27) { 
     $('#ordercell').hide('slide'); 
    } 
}); 

当按下转义按钮时工作得很好,所以我不太确定我错过了什么。

我的HTML中(不使用图像ATM,因为我想我拿到剧本之前的工作我做了一个):

<div id="ordercell"> 
    <div id="orderform"> 
     <div class="cardorder" id="cardorder56"> 
     <div id="close">X</div> 
     <img src="foo.jpg"> 
     </div> 
    </div> 
</div> 

这是所有硬编码,没有AJAX。

+0

你的html看起来像什么? – 2009-11-03 17:56:15

+0

你有多个图像的id #close? – karim79 2009-11-03 17:58:36

+0

我有一个关闭ID的单个元素。 一旦我得到这个工作,我会改变它到一个类,所以我可以处理多个图像。 – 2009-11-03 18:16:53

回答

1

当您设置点击功能时,在DOM中是否存在带有id="close"的图像?

Btw。 WFM。请点击这里http://jsbin.com/acose

+0

我猜是什么问题,是我不知道我需要它在$(document).ready()块。我的密码不需要关闭。谢谢,它现在正在工作。 – 2009-11-03 18:35:21

0

当你绑定到click事件时,DOM中是否存在?如果您使用ajax或其他方式修改DOM,则需要在代码中设置点击事件或使用live

$("#close").live("click", function() { do stuff }); 

此外,您应该从您的点击事件返回false或调用preventDefault。