4 Stimmen

Wie wählt man ein nächstgelegenes Element (darf nicht ein Elternteil dieses Elements sein) mit jQuery aus?

Gehen Sie von einem html-Dokument aus:

      aaa
      bbb
        ...

            ddd

        ...

Bei Verwendung von $('#ccc').closest('li') wählt jQuery das

  • ... - das nächstgelegene Vorfahrenelement des . Ist es möglich,* aaaals "wirklich" nächstgelegenes* Element zumauszuwählen (also muss es kein Vorfahre sein, sondern genügt als Geschwister eines der Vorfahren)?

Aktualisierung:

Gültiges html (speziell für den @PSL-Typ, der bereits seine Kommentare gelöscht hat):

      aaa
      bbb

        fff `ddd`

Wie bekommt man das

aaa

ohne die Verwendung der parent()-Funktion, sondern mittels Verwendung von sowas wie trueClosest('div'), die Geschwister, Vorfahren und Geschwister der Vorfahren berücksichtigt?

Ich möchte nur wissen, ob jQuery eine solche Funktion hat oder nicht?

7voto

static Punkte 8046

Man könnte folgendes verwenden:

$('#startingElement').closest(':has(#desiredElement)').children('#desiredElement')

Also: Das nächstgelegene Element zum #startingElement finden, das ein #desiredElement hat, und dann über children(function); darauf zugreifen.

0voto

Charlie Walton Punkte 312

Hilft das?
Ich benutze diese Methode oft, wenn ich den DOM nach Eltern/Geschwistern durchsuche

$(this).parent().parent().find('#something')

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X