Вы сравниваете два различных объекта jQuery, потому что вы вызываете $()
дважды (один раз для каждой стороны уравнения) и , как объясняет MooGoo jQuery создает новые объекты-оболочки для каждогораз ты это называешь.Вот почему сравнение в конечном итоге возвращает false.
Вы можете извлечь объект DOM из каждого объекта jQuery, используя get()
или разыменование массива, а затем сравнить эти элементы.Следующие оба возвращают значение true, потому что оба идентичных селектора соответствуют одному и тому же элементу body
DOM:
$('body').get(0) == $('body').get(0)
$('body')[0] == $('body')[0]
Если вы хотите проверить селектор jQuery, используйте is()
.Обратите внимание, что, если ваши селекторы не идентичны, используемые вами селекторы могут не обязательно соответствовать тем же элементам DOM (все же лучше использовать вышеупомянутые).Это также возвращает истину:
$('body').is('body')