• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jQuery - ID von übergeordnetem DIV prüfen

meme

Mitglied
Hallo,

Ich habe folgenden HTML-Teil:

HTML:
<div id="menu">
     <p>
        <a href="#">Home</a>
     </p>
</div>

<div id="content">
   <p>
        Hier ein bisschen Text und ein <a href="#">Link</a>
    </p>
</div>

Nun habe ich ein Javascript/jQuery-Script, das bei einem Klick auf einen Link diesen animiert. Das war allerdings nur für die Links unter <div id="menu"> gedacht und nicht für die im Content.

Wie kann ich nun mit jQuery überprüfen ob sich der angeklickte Link im id=menu oder id=content befindet?

Danke,

Julian
 
Werbung:
Da der Link in einem <p> Container und dieser wiederum in einem DIV liegt, traversierst du zum zweiten übergeordneten Element, fängst die ID in einer Variablen auf und machst etwas damit:

Code:
var foo = $('a').parents(':eq(1)').attr('id');

if(foo == bar) {
  // tu was
}
 
Werbung:
Da der Link in einem <p> Container und dieser wiederum in einem DIV liegt, traversierst du zum zweiten übergeordneten Element, fängst die ID in einer Variablen auf und machst etwas damit:

Viel zu kompliziert und unnötig. jQuery bietet genug Selektoren, um soetwas abzufangen. Was Cheffchen gesagt hat, ist vollkommen richtig, es geht aber über verschiedene Wege:

Code:
$("#menu a").click(function(){
  $(this).animate();
});

$("#menu a").bind("click", function(){
  $(this).animate();
});

Zweiteres hat den Vorteil, dass du mit $("#menu a").unbind("click"); das ganze wieder aufheben kannst.
 
Werbung:
Moin,
<klugscheiss>
man sollte, ab jQuery 1.7 eher .on() und .off() anstelle von .bind() und .unbind() nutzen
</klugscheiss>

:lol:
 
Soviel ich weiß ging es bei der Zusammenführung von bind, live und delegate in on eher um live und delegate, das bind sollte lediglich nicht mehr genutzt werden, da es in den zukünftigen Versionen irgendwann rausfällt. Performancetechnisch macht das meinen Recherchen nach nichts aus. Solange es noch nicht komplett verschwindet, benutz ich weiterhin bind und unbind (aus Gewohnheit), bei der Umstellung auf die jQuery Version ohne bind wird mit Suchen & Ersetzen einfach über alle Dokumente geschaut und alle binds und unbinds in ons und off geändert :p
 
Werbung:
Zurück
Oben