jQuery arroja un error que element.find () no es una function

He escrito un pequeño JS para iterar a través de un set de elementos coincidentes y realizar algunas tareas en cada uno de ellos.

Aquí está el código:

var eachProduct = $(".item"); eachProduct.each(function(index, element){ var eachProductContent = element.find(".product-meta").clone(); }); 

Cuando el element log de console se produce correctamente y los objects exactos. ¿Por qué debería jquery lanzar este error?

4 Solutions collect form web for “jQuery arroja un error que element.find () no es una function”

porque el element es un elemento dom y no un object jQuery

 var eachProductContent = $(element).find(".product-meta").clone(); 

Dentro del manejador de each() obtendrá la reference del elemento dom como el segundo parámetro, no una reference de object jQuery. Entonces, si quieres acceder a cualquier método jQuery en el elemento, entonces necesitas get los elementos jQuery wrapper object.

Está llamando a .find() en un object JS simple, pero esa function pertenece al object Jquery

  var eachProductContent = $(element).find(".product-meta").clone(); 

Puede convertirlo en un object jquery envolviéndolo dentro de $() . Y para evitar este tipo de discrepancias, simplemente puede usar la reference $(this) lugar de usar otra.

debes cambiar "elemento" a "esto":

 var eachProduct = $(".item"); eachProduct.each(function(index, element){ var eachProductContent = $(this).find(".product-meta").clone(); }); 

Use $(this) para el Elemento actual

 var eachProductContent = $(this).find(".product-meta").clone(); 
  • ¿Hay una function "existe" para jQuery?
  • events window.scroll que disparan dos veces
  • Enviar matriz php a jquery ajax y hacer un ciclo desde esa matriz
  • ajax callback no funciona
  • ¿Hay alguna posibilidad de que dos instancias de funciones de Javascript asíncronas ejecuten dos bloques de código al mismo time?
  • Alternar text en la label del button
  • Complemento de calendar de marco Javascript
  • jquery 'attribute contains' selector con un valor dynamic
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.