HTML-Element mit bestimmten Eigenschaften identifizieren

  • Hallo zusammen,


    ich habe ein simples HTML-Dokument mit drei Absätzen. Diese haben verschiedenen Inhalt und damit verschiedene Höhen. Mit JS lese ich die Werte aus:



    Nun möchte ich gern eines dieser drei Elemente mit JS formatieren, z. B. das höchste. Allerdings habe ich keinen Ansatz, wie ich das Element mit dem höchsten Wert für offsetHeight anspreche, zumal der Wert durchaus veränderlich sein kann. Wie realisiert man so etwas üblicherweise in JS? Hättet Ihr bitte einen Tipp für mich?


    Danke und Gruß

    Felix

  • Du musst beim Durchlaufen der Schleife das Element mit der größten Höhe so ermitteln:

  • Herzlichen Dank! Jetzt, da ich "speichern wir die Höhe und das Element als (vorläufig) höchstes" lese, erinnere ich mich, diese Formulierung auch irgendwann in meinem Videokurs gehört zu haben, aber den Zusammenhang weiß ich nicht mehr.


    So ist das halt leider. Man lernt eigentlich nur das, was man auch wirklich anwendet ...

  • Ich hab' mir gerade mal überlegt, wie ich vorgehen könnte, um jeden der drei Absätze abhängig von seiner Höhe zu identifizieren:



    Das funktioniert, aber irgendwie scheint es mir nicht die eleganteste Lösung zu sein. Vor allem müsste man das Script ändern, wenn ein weiterer Absatz dazu kommt, und das ist, nach allem, was ich bisher weiß, ein absolutes Tabu.


    Gibt es bessere Lösungen als meine?

  • Möchtest Du das Element mit der höchsten, der zweithöchsten und der dritthöchsten Höhe ermitteln? In dem Fall könnte ich mir ein ganz anderes Vorgehen vorstellen: Mit der Funktion sort und einem Callback die Elemente sortieren:

    https://developer.mozilla.org/…Global_Objects/Array/sort

  • Das ist ja interessant und echtes Neuland für mich. Ich schaue es mir nicht nur an, sondern zerpflücke es und versuche es zu verstehen. Und vermutlich stelle ich dann hier die nächste Frage ... ;)


    Ganz herzlichen Dank für Deine Mühe!



    Edit zehn Minuten später: Ich muss nix fragen, das erklärt sich alles von selbst. Prima, super, hervorragend!