A causa della stessa ragione che $('#a) == $('#a')
è false
Ogni volta jQuery builts un set di elementi, restituisce un nuovo oggetto (anche se l'oggetto jQuery racchiude gli stessi elementi di un altro). In JavaScript, lo solo tempo un oggetto è uguale a un altro, è se è esattamente lo stesso oggetto;
var a = {
foo: 1
};
var b = {
foo: 1
};
(a == b) // false;
Per risolvere questo problema, è possibile confrontare il DOM oggetti direttamente (sia utilizzando .get(i)
o utilizzando l'oggetto jQuery come un array ([i]
)), o si ottiene utilizzare il metodo is()
;
if ($('.foo').get(i) == $('.bar').get(i));
if ($('.foo')[0] == $('.bar')[0]);
if ($('.foo').is($('.bar')); // or even...
if ($('.foo').is('.bar'));
grazie mille :) – abrad45