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