JQuery-Klasse zum übergeordneten Element hinzufügen

Lesezeit: 1 Minute

Benutzer-Avatar
Alex Schleiborg

Ich muss einen Klassennamen für ein (li)-Element festlegen. Dieses Skript findet alle (a) Elemente in der Liste und erstellt ein Klickereignis.

jQuery("#" + ElementID).find(TagName).click(function () {

    GetPageByUrl(jQuery(this).attr("href"));
    jQuery(this).parent().addClass('yourClass');
    //ChangeSelectedMenuItem(this);
    return false;
});

Der Elternteil jedes (a)-Elements ist ein (li)-Element

Aber nichts passiert, wenn diese Zeile jQuery(this).parent().addClass(‘yourClass’);

Alles andere funktioniert einwandfrei.

Was mache ich hier falsch?


Okay, aber es wird immer noch nicht funktionieren. Es wird keine Klasse hinzugefügt jQuery(this).addClass(‘yourClass’); Sollte dem Element (a) eine Klasse hinzugefügt werden, tut es aber nicht?

  • Die geposteten Antworten sollte Arbeit. Um zu sehen, warum sie nicht funktionieren, müssen wir den von Ihnen verwendeten HTML-Code sehen. Und der Rest des relevanten jQuery/JavaScript. Könntest du eine posten JS Fiddle-Demo um dein Problem zu reproduzieren?

    – David Thomas

    22. Januar 2012 um 17:09 Uhr

Geben Sie den optionalen Selektor an, um das gewünschte Ziel zu erreichen:

jQuery(this).parent('li').addClass('yourClass');

Oder:

jQuery(this).parents('li').addClass('yourClass');

Benutzer-Avatar
Delan Azabani

$(this.parentNode).addClass('newClass');

  • In gewisser Weise ist dieser Kommentar sowohl richtig als auch falsch. Es ist abhängig von Ihrem System. Wenn Sie eine Klasse dynamisch hinzufügen müssen, ist die Verwendung von jQuery in Ordnung. Wenn Sie diese Methode verwenden, um die Klasse hinzuzufügen, anstatt das Basis-HTML zu ändern, ist dies nicht der richtige Weg.

    – jezzipin

    26. April 2013 um 16:22 Uhr

1245860cookie-checkJQuery-Klasse zum übergeordneten Element hinzufügen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy