Frage

Ich habe einen Verweis auf ein DOM-Element, und ein jQuery-Objekt, das das Ergebnis eines Wählers ist, und ich möchte, um zu überprüfen, ob das spezifische DOM-Element in diesem jQuery-Objekt ist. Kurz die durch das ganze jQuery-Objekt Looping und für die Gleichstellung prüft, gibt es eine einfache Möglichkeit, in jQuery dies zu tun?

Ich habe versucht, .contains, :contains, .has und :has, und keiner von ihnen scheint, um die Arbeit zu erledigen. Ich sollte auch erwähnen, dass alle Elemente, die ich mit bin auf dem gleichen DOM-Baum-Ebene sind, so gibt es keine Notwendigkeit, über Eltern / Kinder zu kümmern.

War es hilfreich?

Lösung

ähnlich wie Gumbos Antwort, aber schlanker:

if ( obj.filter(function() { return this == el; }).length ) {
    // obj contains el
}

Andere Tipps

$yourJqueryObject.is(yourDomElement)

Siehe .is () in 1.6 hinzugefügt.

Versuchen Sie folgendes:

var result = $("selector").find("*").filter(function() {
    return this === elem;
}).length === 1;

elem ist das DOM-Element Sie suchen.

ähnlich wie David Antwort aber noch schlanker:

if ( obj.filter(el).length ) {
    // obj contains el
}

Kinda hackish, sondern arbeitet für mich:

$.inArray($('#single-element').get(0), $('.many-elements').get()) != -1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top