2010-12-03 15 views
1

Ich habe ein dynamisches System gemacht, so dass du divs in divs in divs usw. anhängen kannst. Jetzt möchte ich die ID des divs wissen, wenn ich darauf klicke. Ich habe ein Skript wie folgt aus: HTML:Erhalte ID von Kindern

<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); 
}); 

Wenn Sie zum Beispiel auf DIV4 klicken Sie kehrt div_4 und div_1 aber ich will nur div_4 als Rückkehr. Kann mir jemand helfen? Ich habe etwas über Eltern und Kinder gelesen, aber ich kann es nicht herausfinden. Grüße Frank

Antwort

4

können Sie das Sprudeln des Ereignisses stoppen mit:

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

Das Click-Ereignis dann nur die oberste Schicht/div erreichen sollte.

+0

Für eine gute Antwort ist das, was ich suchte, danke vielmals! – Frank

0

Fügen Sie keine Klickereignisse zu jedem Element hinzu. Fügen Sie dem Container aller divs ein click-Ereignis hinzu und verwenden Sie dann das jquery-Ereignisobjekt, um das Zielelement abzurufen, auf das geklickt wurde.

Verwandte Themen