Gast: For schleife für divs

Hallo,
ich habe folgenden Code:
var sammlung = $(".sammlng:not(#ex)");
for(var i=0; i<sammlung.length; i++){
   $(sammlung+":eq("+i+")").css("height");
}

Wie kann ich in der Forschleife auf den ersten Element aus der variable sammlung zugreifen?

Versucht habe ich:
$(sammlung+":eq("+i+")").css("height");
Funktioniert aber nicht...

  1. Wozu brauchst du eine for-Schleife?

    Ich nehme an, dass du jQuery verwendest - mach dich einfach mit each() vertraut.

    Bzw. wenn du ohnehin nur das erste Element in der Sammlung willst, kannst du das auch mit .eq() rausziehen - wozu brauchst du dann überhaupt eine Schleife?

    $(".sammlung:not(#ex):eq(0)")

    1. Wozu brauchst du eine for-Schleife?

      Ich nehme an, dass du jQuery verwendest - mach dich einfach mit each() vertraut.

      Bzw. wenn du ohnehin nur das erste Element in der Sammlung willst, kannst du das auch mit .eq() rausziehen - wozu brauchst du dann überhaupt eine Schleife?

      $(".sammlung:not(#ex):eq(0)")

      Nein, nein. Ich will alle Elemente der Klasse sammlung, ausser den mit der ID ex. Dann will ich durch alle Elemente der Klasse durchgehen und deren Höhe abfragen.

      1. Nein, nein. Ich will alle Elemente der Klasse sammlung, ausser den mit der ID ex. Dann will ich durch alle Elemente der Klasse durchgehen und deren Höhe abfragen.

        Dann nimm .each()

        Die Höhe selbst solltest du aber tunlichst mit .height() oder .outerHeight() ermitteln :)

    2. @@suit:

      nuqneH

      Bzw. wenn du ohnehin nur das erste Element in der Sammlung willst, kannst du das auch mit .eq() rausziehen

      Ähm, .first().

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Bzw. wenn du ohnehin nur das erste Element in der Sammlung willst, kannst du das auch mit .eq() rausziehen

        Ähm, .first().

        Wenn es explizit um das erste Element geht, ja - ich selbst bevorzuge aber eq(0), schlichtweg der lesbarkeit wegen.

        Wenn man da schnell den Code überfliegt, ist es einfacher mehrere eq() zu erfassen als 1x first, 1x eq und vielleicht noch ein paar .last()

        eq(0) ist absolut gleichbedeutend zu first() bzw eq(-1) entspricht last().

        first und last erzeugen nur overhead in der Sprache bzw. im Framework :)

        1. und jetzt komm mir nicht mit Performance :) wir hatten erst vor einigen Monate eine Diskussion (mit Benchmarks) wo wir festgestellt haben, was schneller ist :)

          http://jsfiddle.net/Vf7hf/

          Anm: Originalthread.