Comment se fait-il que l'équation dans le titre soit fausse? Comment vérifier si deux sélecteurs jQuery pointent sur le même objet DOM?
Réponses
Trop de publicités?La comparaison de deux distinctes jQuery objets parce que vous appelez $()
deux fois (une fois pour chaque côté de l'équation), et comme MooGoo explique jQuery crée de nouveaux objets wrappers pour chaque fois que vous l'appelez. C'est pourquoi la comparaison finit par retourner false.
Vous pouvez extraire un objet DOM à partir de chaque objet jQuery en utilisant get()
tableau ou de déréférencement, puis de comparer ces éléments. La suite les deux renvoie true parce que à la fois identiques sélecteurs de correspondre à la même body
DOM élément:
$('body').get(0) == $('body').get(0)
$('body')[0] == $('body')[0]
Si vous voulez tester contre un sélecteur jQuery, utilisez is()
. Notez que, à moins que votre sélecteurs sont identiques, les sélecteurs vous utilisez ne correspondent pas nécessairement aux mêmes éléments du DOM (c'est toujours mieux d'utiliser la ci-dessus). Cela revient aussi vrai:
$('body').is('body')