Hallo Lynnv,
du solltest sowas nicht mit alert debuggen. Beschäftige Dich mit den Entwicklerwerkzeugen deines Browsers, da kannst Du im Sourcecode Unterbrechungspunkte (Breakpoints) setzen, du kannst Variablen abfragen, du kannst - wenn Du auf einem Breakpoint hältst, in der Konsole JavaScript Ausdrücke eingeben die dann im Kontext des Breakpoints abgearbeitet werden (wie z.B. mengen.length), du kannst Werte beobachten, du kannst einzelschrittweise durch deinen Code laufen.
Aber wie auch immer, ich sehe nur den Code, den Du am 14.11 um 21:06 gepostet hast und da kommt mengen[iz] nur einmal vor: in der Schleife. Die von Dir genannte Fehlermeldung dürfte kommen, wenn es mehr Preise als Mengen gibt, so dass preise.length > mengen.length ist. Wie das zu Stande kommt, kann ich von hier aus nicht sagen. Nur eins: Ein Element mit gesetztem hidden-Attribut wird von querySelectorAll mit erfasst. Wenn Du also 10 Mengen und 10 Preise hast, und davon teilweise welche hidden sind, dann sollte das nicht zu Unterschieden in den Längen führen.
Rolf
sumpsi - posui - obstruxi