Question

I avoir une référence à un élément DOM, et un objet jQuery qui est le résultat d'un sélecteur, et je veux vérifier si cet élément DOM spécifique est dans cet objet jQuery. Court de boucle à travers l'ensemble de l'objet jQuery et la vérification de l'égalité, est-il un moyen simple de jQuery pour ce faire?

J'ai essayé .contains, :contains, .has et :has, et aucun d'entre eux semblent faire le travail. De plus, je dois dire que tous les éléments avec lesquels je travaille sont sur le même niveau d'arborescence DOM, donc il n'y a pas besoin de se soucier de parents / enfants.

Était-ce utile?

La solution

similaire à réponse Gumbos, mais plus mince:

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

Autres conseils

$yourJqueryObject.is(yourDomElement)

.is () ajouté au point 1.6.

Essayez ceci:

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

elem est l'élément DOM que vous recherchez.

Tout comme la réponse de David, mais encore plus mince:

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

Kinda hackish, mais fonctionne pour moi:

$.inArray($('#single-element').get(0), $('.many-elements').get()) != -1
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top