jQuery para recorrer elementos con la misma clase

Resuelto geoffs3310 asked hace 13 años • 15 respuestas

Tengo un montón de divs con la clase testimonialy quiero usar jquery para recorrerlos y verificar en cada div si una condición específica es verdadera. Si es cierto, debería realizar una acción.

¿Alguien sabe cómo haría esto?

geoffs3310 avatar Jan 19 '11 19:01 geoffs3310
Aceptado

Utilice cada uno: ' i' es la posición en la matriz, objes el objeto DOM que está iterando ( $(this)también se puede acceder a través del contenedor jQuery).

$('.testimonial').each(function(i, obj) {
    //test
});

Consulte la referencia de la API para obtener más información.

Kees C. Bakker avatar Jan 19 '2011 12:01 Kees C. Bakker

prueba esto...

$('.testimonial').each(function(){
    //if statement here 
    // use $(this) to reference the current div in the loop
    //you can try something like...


    if(condition){

    }


 });
stephen776 avatar Jan 19 '2011 12:01 stephen776

Es bastante sencillo hacer esto sin jQuery hoy en día.

Sin jQuery:

Simplemente seleccione los elementos y use el .forEach()método para iterar sobre ellos:

const elements = document.querySelectorAll('.testimonial');
Array.from(elements).forEach((element, index) => {
  // conditional logic here.. access element
});

En navegadores más antiguos:

var testimonials = document.querySelectorAll('.testimonial');
Array.prototype.forEach.call(testimonials, function(element, index) {
  // conditional logic here.. access element
});
Josh Crozier avatar Jan 23 '2015 04:01 Josh Crozier

Prueba este ejemplo

HTML

<div class="testimonial" data-index="1">
    Testimonial 1
</div>
<div class="testimonial" data-index="2">
    Testimonial 2
</div>
<div class="testimonial" data-index="3">
    Testimonial 3
</div>
<div class="testimonial" data-index="4">
    Testimonial 4
</div>
<div class="testimonial" data-index="5">
    Testimonial 5
</div>

Cuando queremos acceder a aquellos divsque tienen data-indexmayor que 2entonces necesitamos este jquery.

$('div[class="testimonial"]').each(function(index,item){
    if(parseInt($(item).data('index'))>2){
        $(item).html('Testimonial '+(index+1)+' by each loop');
    }
});

Ejemplo de trabajo de violín

Manoj avatar Apr 13 '2015 07:04 Manoj