Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

155
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!