Así que estoy tratando de averiguar cómo comparar dos objetos jQuery para ver si el elemento principal es el cuerpo de una página.
esto es lo que tengo:
if ( $(this).parent() === $('body') ) ...
Sé que esto está mal, pero si alguien entiende a lo que me refiero, ¿podría indicarme la forma correcta de hacerlo?
var $parent = $(this).parent(), $body = $('body');
var theSame = $parent.is($body);
api.jquery.com/is/#is-jQuery-objectRespuestas:
Debe comparar los elementos DOM sin procesar, por ejemplo:
o
fuente
Por qué no:
?
fuente
if ($(this).parent().is($("body")))
No se requiere bucle, no es necesario probar el primer nodo único. No se requiere prácticamente nada más que asegurarse de que tengan la misma longitud y compartan nodos idénticos. Aquí hay un pequeño fragmento de código. Es posible que incluso desee convertir esto en un complemento de jquery para sus propios usos.
fuente
<div>abc</div>
<div>def</div>
Tropecé con estas respuestas y me pregunté cuál era mejor. Todo depende de sus necesidades, pero el más fácil de escribir, leer y ejecutar es el mejor, por supuesto. Aquí está el caso de prueba de rendimiento que hice para tomar una decisión.
http://jsperf.com/jquery-objects-comparison
fuente