Warum soll hier ein "]" hin?

  • Hallo,

    ich schreibe mir gerade mit JavaScript / jQuery ein Script um einsen un nullen im Hintergrund laufen zu lassen (bewegt wird alles mit css keyframes).

    Dabei habe ich erst einmal kein Problem, aber ich bekomme immerwieder eine Fehlermeldung:

    "SyntaxError: missing ] after element list 1:21 note: [ opened at line 1, column 13 1:13"

    Bei 1:13 ist aber garnichts und 1:21 ist mitten in einem function().

    Hier ist der code:

    Vielen Dank im Vorraus.


    Justus

  • da sind meiner meinung nach ein Paar sachen nicht ok

    erstmal das

    Code
    $("#" + counter)

    eine ID darf keine Zahl sein. Ein Wort mit einer Zahl ist ok ,aber nicht nur nee Zahl.

    Also mach zb aus das

    Code
    $("#" + counter)   ein   $("#bla" + counter)

    Dann sagt man auch das eval böse ist und man nicht nehmen soll.

    Das dein Code nicht geht liegt meiner meinung auch an den zusammen gebauten Code im EVAL. Muss iich gleich zuhause mal testen fals wer anderes nicht schneller ist .

    Könnte mich aber auch wieder mit allem irren

  • Ja, hier zeigen sich die Tücken von eval und der Debugger bringt es an den Tag: Der String, der übergeben wird, sieht so aus:

    column1.push([object Object])

    weil Du einen String zusammen baust und Javascript wandelt das Objekt paragraph in diese Stringdarstellung um.


    Lösung:

    Code
    window["column" + column].push(paragraph);

    Dabei nutzt man aus, dass eine Variable ein Element des window-Objektes ist, das mit dem Variablennamen angesprochen werden kann.


    Ich würde es jedoch vorziehen, auf diesen Trick zu verzichten und das Ganze in einem zweidimensionalen Array abzulegen:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!