2016-04-18 9 views
1

Ich habe diese Arbeit Code:jQuery .addClass (Dynamic) verwenden außerhalb .each() Funktion

$('.cycle-slideshow').each(function(i){ 
    $(this).addClass('cycle-slideshow-randomid--' + i); 
}); 

Jetzt habe ich dieses randomid in den folgenden Code verwenden möchten (dieser Code nicht Teil des vorherigen ist. jeder()) aber wie?

$('.cycle-slideshow').on('cycle-paused', function(event, optionHash) {/**/}); 

Ich versuchte dies:

$('.cycle-slideshow-randomid--' + i).on('cycle-paused', function(event, optionHash) {/**/}); 

Aber es hat nicht funktioniert? Danke fürs Helfen!

Ich habe auch versucht, es in eine Var innerhalb der .each(), aber es erkannte es nicht. Also habe ich das wahrscheinlich falsch gemacht.

Ich hoffe, es in eine Variable zu bekommen, so dass ich dann eine IF (.cycle-slideshow-randomid - 1) sowie die normale Variable in der .on() verwenden kann.

+0

Sie erkennen Sie 'I' keine Zahl ist, nicht wahr? 'each' hat einen definierten Satz von Parametern –

+0

Das ist ziemlich seltsam, da diese Funktion' cycle-slideshow-randomid-0', 'cycle-slideshow-randomid-1' usw. zurückgibt. Zumindest sagt das der Inspektor; -) – purple11111

Antwort

1

Vielleicht falsch verstanden ich aber, Sie Ihre Event-Handler auf allen entsprechenden Element wie das hinzufügen:

$("[class*='cycle-slideshow-randomid--']").on('cycle-paused', function(event, optionHash) {/**/}); 
+0

Vielen Dank für Ihre Antwort. Liebe es. Aber fehlt ein ']' in deinem Code oder sehe ich es nicht ;-) Ich erhalte den Fehler: Fehler im Event-Handler unbekannt. Oder sollte ich am '' '' '' '' '' '' '' ''am Ende stehen? – purple11111

+0

Sie können dieses Beispiel überprüfen: https://jsfiddle.net/s4votgm1/ der Selektor sollte sein: '$ (" [class * = 'cycle-slideshow-randomid -'] ")' (Antwort bearbeitet) –

+0

Oh I Ich habe nicht erwartet, eine Geige zu bekommen. Absolut super es macht es so viel einfacher zu verstehen. Ich werde deinen Code ausprobieren, sobald ich wieder im Büro bin. Vielen Dank für die Zeit, um mir ein paar Tricks beizubringen. – purple11111