2009-11-03 12 views
0

J'essaie de cacher un élément lorsque l'on clique sur une image avec l'ID 'close'.Jquery essayant de cacher un élément en cliquant sur un enfant

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

Doit être tout ce dont j'ai besoin, d'après ce que je peux dire, mais rien ne se passe quand je clique. Fonctionne très bien pour se cacher lorsque l'échappement est enfoncé, donc je ne suis pas sûr de ce que je manque.

Mon HTML est (sans utiliser un guichet automatique d'image parce que je pensais que j'obtenir le script de travail avant que je fait un):

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

Tout cela est codé en dur, pas AJAX.

+0

Qu'est-ce que votre HTML ressemble? –

+0

Avez-vous plusieurs images avec l'id #Fermer? – karim79

+0

J'ai un seul élément avec l'ID de fermeture. Je vais changer à une classe une fois que je reçois ce travail afin que je puisse gérer plusieurs images. –

Répondre

1

Est-ce que l'image avec id="close" existe déjà dans les DOM lorsque vous définissez la fonction de clic?

Btw. WFM. Cochez ici http://jsbin.com/acose

+0

Je suppose que la question est, est que je ne savais pas que j'avais besoin d'être dans le bloc $ (document) .ready(). Mon code pour échapper à proximité n'a pas besoin d'être. Merci, ça marche maintenant. –

0

Existe-t-il dans le DOM lorsque vous liez l'événement click? Si vous utilisez ajax ou d'autres moyens pour modifier le DOM vous devez configurer votre événement, cliquez sur ce point dans votre code ou utilisez live.

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

Vous devriez également renvoyer false à partir de votre événement click ou en appelant preventDefault.