760 Stimmen

jQuery zum Durchlaufen von Elementen mit der gleichen Klasse

Ich habe eine Reihe von Divs mit der Klasse testimonial und ich möchte Jquery verwenden, um Schleife durch sie für jedes div zu überprüfen, wenn eine bestimmte Bedingung wahr ist. Wenn es wahr ist, sollte es eine Aktion durchführen.

Weiß jemand, wie ich das machen kann?

27voto

Atharva Punkte 6097

.eq() von jQuery kann Ihnen helfen, die Elemente mit einem indizierten Ansatz zu durchlaufen.

var testimonialElements = $(".testimonial");
for(var i=0; i<testimonialElements.length; i++){
    var element = testimonialElements.eq(i);
    //do something with element
}

24voto

David Smith Punkte 35428

Vielleicht habe ich einen Teil der Frage übersehen, aber ich glaube, Sie können dies einfach tun:

$('.testimonial').each((index, element) => {
    if (/* Condition */) {
        // Do Something
    }
});

Dazu wird die Methode each von jQuery verwendet: https://learn.jquery.com/using-jquery-core/iterating/

20voto

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

18voto

Ismail Rubad Punkte 1378

Mit einer einfachen for-Schleife:

var testimonials= $('.testimonial');
for (var i = 0; i < testimonials.length; i++) {
  // Using $() to re-wrap the element.
  $(testimonials[i]).text('a');
}

17voto

karim79 Punkte 333786

Sie können dies kurz und bündig tun, indem Sie .filter . Das folgende Beispiel blendet alle .testimonial divs aus, die das Wort "etwas" enthalten:

$(".testimonial").filter(function() {
    return $(this).text().toLowerCase().indexOf("something") !== -1;
}).hide();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X