Depuis jQuery 1.6, vous pouvez utiliser .is
. Ci-dessous est la réponse depuis plus d'un an...
var a = $('#foo');
var b = a;
if (a.is(b)) {
// the same object!
}
Si vous voulez voir si deux variables sont en fait le même objet, par exemple:
var a = $('#foo');
var b = a;
...ensuite, vous pouvez vérifier leur Id unique. Chaque fois que vous créez un nouvel objet jQuery, il obtient un identifiant.
if ($.data(a) == $.data(b)) {
// the same object!
}
Cependant, la même chose peut être réalisé avec un simple a === b
, le ci-dessus pourrait au moins montrer la prochaine développeur exactement ce que vous allez tester.
En tout cas, ce n'est probablement pas ce que vous êtes après. Si vous voulais vérifier si les deux jQuery objets contiennent les mêmes éléments, vous pouvez utiliser ceci:
$.fn.equals = function(compareTo) {
if (!compareTo || this.length != compareTo.length) {
return false;
}
for (var i = 0; i < this.length; ++i) {
if (this[i] !== compareTo[i]) {
return false;
}
}
return true;
};
Source
var a = $('p');
var b = $('p');
if (a.equals(b)) {
// same set
}