2010-12-03 7 views
1

J'ai créé un système dynamique pour que vous puissiez ajouter des divs en divs en divs, etc. Maintenant je veux connaître l'identifiant de la div quand je clique dessus. J'ai fait un script comme ceci: HTML:Get id des enfants

<div id="div1" class="mod"> 
    <div id="div4" class="mod"> 
    <div id="div5" class="mod"></div> 
    </div> 
</div> 
<div id="div2" class="mod"> 
    <div id="div6" class="mod"> 
    <div id="div7" class="mod"></div> 
    </div> 
</div> 

Jquery:

$('.mod').click(function(){ 
    var id = $(this).attr('id'); 
    alert(id); 
}); 

Si vous cliquez par exemple sur div4 il retournera div_4 et div_1 mais je veux seulement div_4 que le retour. Quelqu'un peut-il m'aider? J'ai lu quelque chose sur les parents et les enfants, mais je ne peux pas le comprendre. Cordialement Frank

Répondre

4

Vous pouvez arrêter le bouillonnement de l'événement avec:

$('.mod').click(function(event){ 
    var id = $(this).attr('id'); 
    alert(id); 
    event.stopPropagation(); 
}); 

Le clic-événement alors seulement devrait atteindre la couche la plus élevée/div.

+0

Pour une bonne réponse c'est ce que je cherchais merci beaucoup! – Frank

0

N'ajoutez pas d'événements de clic à chaque élément. Ajoutez un événement de clic au conteneur de toutes les divs, puis utilisez l'objet événement jquery pour obtenir l'élément cible sur lequel vous avez cliqué.

Questions connexes