Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

152
Vistas
selector jquery y querySelectorAll

Traté de convertir una función simple a vanilla js y el primer bloque de código funciona bien, pero está sucediendo algo extraño y parece que no puedo entender cómo hacer que esto funcione. Todo lo que intento hacer aquí es tener una conversión directa y este código no funciona.

aquí está el código original con jquery

 const obj = { updateProductImages() { var $slideshow = $('[data-product-images]') $('.swiper-pagination').html(''); $slideshow.html('') this.selected_product.images.forEach((image, index) => { $slideshow.append(` <div id="Image${image.id}" class="Product__SlideItem Carousel__Cell" data-image-position="${index}" data-image-id="${image.id}"> <div class="pw-ratio"> <div class="pw-ratio__fill"></div> <div class="pw-ratio__inner"> <img src="${_utils.resizeImage(image.src, 'x1600')}" /> </div> </div> </div> `) }) } }

El código anterior funciona perfectamente, pero estoy refactorizando un sitio para usar solo js para poder dejar de importar jquery.

aquí está mi código refactorizado:

 const obj = { updateProductImages() { //var $slideshow = $('[data-product-images]') const $slideshow = document.querySelectorAll('[data-product-images]') //$('.swiper.pagination').html('') document.querySelector('.swiper-pagination').innerHTML = '' //$slideshow.html('') $slideshow.forEach(item => { item.innerHTML = '' }) this.selected_product.images.forEach((image, index) => { $slideshow.forEach(item => { item.insertAdjacentHTML('beforeend', ` <div id="Image${image.id}" class="Product__SlideItem Carousel__Cell" data-image-position="${index}" data-image-id="${image.id}"> <div class="pw-ratio"> <div class="pw-ratio__fill"></div> <div class="pw-ratio__inner"> <img src="${_utils.resizeImage(image.src, 'x1600')}" /> </div> </div> </div> `) }) } } }

No puedo creer que haya pasado horas en esto, en algo que debería ser fácil de arreglar. El código en el segundo bloque no funciona, también intenté usar $slideshow += `...` y tampoco funcionó.

about 4 years ago · Santiago Gelvez
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda