jQuery to loop through elements with the same class

jQuery to loop through elements with the same class

I have a load of divs with the class testimonial and I want to use jquery to loop through them to check for each div if a specific condition is true. If it is true, it should perform an action.
Does anyone know how I would do this?


Solution 1:

Use each: ‘i‘ is the postion in the array, obj is the DOM object that you are iterating (can be accessed through the jQuery wrapper $(this) as well).

$('.testimonial').each(function(i, obj) {

Check the api reference for more information.

Solution 2:

try this…

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




Solution 3:

It’s pretty simple to do this without jQuery these days.

Without jQuery:

Just select the elements and use the .forEach() method to iterate over them:

var testimonials = document.querySelectorAll('.testimonial');
Array.prototype.forEach.call(testimonials, function(elements, index) {
    // conditional here.. access elements

Solution 4:

Try this example


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

When we want to access those divs which has data-index greater than 2 then we need this jquery.

        $(item).html('Testimonial '+(index+1)+' by each loop');

Working example fiddle

Solution 5:

you can do it this way

$('.testimonial').each(function(index, obj){
    //you can use this to access the current item

Solution 6:

divs  = $('.testimonial')
for(ind in divs){
  div = divs[ind];
  //do whatever you want