2017-11-13 33 views
-1

Ich arbeite an einer Komponente, die Informationen von einem Array beim Klicken auf ein Bild anzeigt.Schleife durch jQuery

Ohne ins Detail zu gehen, haben sie für jedes der 12 Bilder, die ich zeige, bestimmte IDs, die für diesen Slot im HTML relevant sind. So #person_0 ist im Zusammenhang mit #bio_0, #close_0, etc. Und #person_1 ist im Zusammenhang mit #bio_1, #close_1 usw.

Was ich Probleme, mit jetzt eine effiziente Möglichkeit, eine Schleife durch jQuery ähnlich dem unten findet:

$("#close_0").click(function() { 
    $("#bio_0").hide(); 
}); 

$("#close_1").click(function() { 
    $("#bio_1").hide(); 
}); 

$("#close_2").click(function() { 
    $("#bio_2").hide(); 
}); 

Anstatt diese 12 Mal zu schreiben, gibt es ein einfaches Mittel, um dies zu durchlaufen? Was mir klar ist, ist, wie man eine Variable in die div-ID eingibt (d. H. #close_0 - wobei 0 die Variable wäre).

Irgendwelche Tipps?

+1

Nur neugierig, warum Sie eine Klasse für die 'close' oder die' bio' nicht verwenden können? Zeigen Sie uns auch Ihren HTML-Code. – disinfor

+0

Als @disinfor sagte, bitte zeigen Sie Ihre HTML, das Skript könnte sehr einfach sein, oder es könnte sogar mit CSS machbar sein. –

Antwort

0

Idealfall, wenn diese Elemente eine Klasse haben, dann würden Sie dies nicht $(".someclass").click(...

tun Sie Schleife wie dies durch IDs können:

for(var i=0; i<12; i++) 
{ 
    $("#close_"+i).click(function() { 
    $("#bio_"+i).hide(); 
    $("[id^=person_]").removeClass("active"); 
    }); 
} 

PS. Ich habe nicht verstanden, was Sie mit removeClass tun wollen, und wenn das mit den Elementen zu tun hat, die Sie anhängen, klicken Sie auf

+0

Das habe ich anfangs versucht, aber es scheint nicht zu funktionieren. Sie können die Aktion removeClass ignorieren - ich möchte nur die #close_/#bio_Ereignisse loopen – jas0220

+0

Eigentlich haben Sie recht - ich werde nur eine Klasse verwenden, da der einzige Zweck das Schließen ist und es egal ist Jede ID wird geschlossen. Danke für die Hilfe! – jas0220

Verwandte Themen