Portanto, estou tentando descobrir como comparar dois objetos jQuery, para ver se o elemento pai é o corpo de uma página.
aqui está o que eu tenho:
if ( $(this).parent() === $('body') ) ...
Eu sei que isso é errado, mas se alguém entender o que estou querendo dizer, poderia me indicar a maneira correta de fazer isso?
var $parent = $(this).parent(), $body = $('body');
var theSame = $parent.is($body);
api.jquery.com/is/#is-jQuery-objectRespostas:
Você precisa comparar os elementos DOM brutos, por exemplo:
ou
fonte
Por que não:
?
fonte
if ($(this).parent().is($("body")))
O loop não é necessário, o teste do primeiro nó único não é necessário. Praticamente nada é necessário além de garantir que eles tenham o mesmo comprimento e compartilhem nós idênticos. Aqui está um pequeno trecho de código. Você pode até querer convertê-lo em um plugin jquery para seu próprio uso.
fonte
<div>abc</div>
<div>def</div>
Tropecei nessas respostas e me perguntei qual era a melhor. Tudo depende das suas necessidades, mas o mais fácil de digitar, ler e executar é o melhor, é claro. Aqui está o caso de teste de desempenho que fiz para tomar uma decisão.
http://jsperf.com/jquery-objects-comparison
fonte