Итак, я пытаюсь понять, как сравнить два объекта jQuery, чтобы увидеть, является ли родительский элемент телом страницы.
вот что у меня есть:
if ( $(this).parent() === $('body') ) ...
Я знаю, что это неправильно, но если кто-нибудь поймет, к чему я клоню, могут ли они указать мне на правильный способ сделать это?
var $parent = $(this).parent(), $body = $('body');
var theSame = $parent.is($body);
api.jquery.com/is/#is-jQuery-objectОтветы:
Вам нужно сравнить необработанные элементы DOM, например:
или
источник
Почему нет:
?
источник
if ($(this).parent().is($("body")))
Цикл не требуется, тестирование единственного первого узла не требуется. Практически ничего не требуется, кроме обеспечения одинаковой длины и одинаковых узлов. Вот небольшой фрагмент кода. Возможно, вы даже захотите преобразовать это в плагин jquery для собственного использования.
источник
<div>abc</div>
<div>def</div>
Я наткнулся на эти ответы и подумал, какой из них лучше. Все зависит от ваших потребностей, но, конечно, легче всего набрать, прочитать и выполнить. Вот тестовый пример, который я сделал, чтобы принять решение.
http://jsperf.com/jquery-objects-comparison
источник