top bottom javascript jquery offset

javascript - bottom - ¿Qué es prevObject y por qué mi selector está devolviendo eso?



offset top jquery scroll (2)

Aunque el error no está relacionado con prevObject , lo explicaré ya que es una pregunta en el título.

jQuery .end ()

Finalice la operación de filtrado más reciente en la cadena actual y devuelva el conjunto de elementos coincidentes a su estado anterior.

Para devolver su estado anterior, jQuery devuelve prevObject que contiene elementos seleccionados antes de la operación de filtrado, como .find() , .filter() y .children() .

Ejemplo

$(''#target'').append($(''div'').find(''input'').remove().end());

$(''div'') seleccionará todos los elementos div. --- (* 1)

Luego, $(''div'').find(''input'').remove() seleccionará todos los elementos de entrada dentro de los elementos div seleccionados y eliminará estos elementos de entrada.

Después de eso, $(''div'').find(''input'').remove().end() .find(''input'') . .find(''input'') $(''div'').find(''input'').remove().end() devolverá los elementos antes de que se .find(''input'') . Por lo tanto, devolverá todos los elementos div igual que en (* 1) excepto que se eliminarán todos los elementos de entrada dentro de divs. Los elementos devueltos se almacenan en prevObject .

Finalmente, los elementos devueltos (* 1) se agregan a #target .

.end() : https://api.jquery.com/end/

Estoy tratando de obtener la parte superior de un elemento pero obtengo este error, ¿qué significa y cómo me deshago de él?

$(".hover").offset().top >Uncaught TypeError: Cannot read property ''top'' of undefined $(".hover") [div.hover, prevObject: x.fn.x.init[1], context: document, selector: ".hover", jquery: "2.0.3", constructor: function…] [prevObject: x.fn.x.init[1], context: document, selector: ".hover", jquery: "2.0.3", constructor: function…]

Esto sucede dentro del evento drop de jqueryui cuando trato de soltarlo en un dropable anidado.

$.fn.makeDroppable = function(){ $(this).droppable({ drop: function(event, ui) { console.log($(".hover")); console.log($(".hover").offset().top); $(".hover").makeDroppable().removeClass("hover"); }, over: function(event, ui) { $("<div>").addClass("hover").appendTo(this); } }); } $(".container").makeDroppable(); <div class="container"></div>


jQuery devuelve prevObject si el DOM no tiene el elemento para el que se está ejecutando jQuery. Es posible que vea el elemento en su fuente en el tiempo de ejecución, sin embargo, no está vinculado al DOM y, por lo tanto, muestra prevObject. Intente revisar su archivo js nuevamente o pegue el código aquí.