Hallo!
Wie der Titel verrät versuche ich in einer Schleife alle <li> einer bestimmten <ul> zu bearbeiten.
Ich habe mich hier, hier und hier durchgelesen und danach folgendes Stück Code versucht
var formular = 'formular_name';
var menu = 'menu_id';
for (var i = 0; i < document.forms[formular].getElementById(menu).getElementsByTagName("li").length; i++) {
/* tu etwas */
}
Für mich als JS-Neuling sollte es klappen. Tut es aber nicht wie der erfahrene Scripter sicher auf den ersten Blick sieht.
Nur frag ich mich warum. Danach hab ich die Fehlerkonsole befragt. Die sagt mir
"(..)Error:
name: TypeError
message: Statement on line 9: Type mismatch (usually a non-object value used where an object is required)
Backtrace:
Line 9 of linked script http://localhost/functions/functions.js
for (var i = 0;i < (document.forms[formular].getElementById(menu).getElementsByTagName("li")).length;i++)
Line 1 of script
(..)
At unknown location"
und
"(..)Error:
name: TypeError
message: Statement on line 9: Could not convert undefined or null to object
Backtrace:
Line 9 of linked script http://localhost/functions/functions.js
for (var i = 0;i < (document.forms["formular"].getElementById("menu").getElementsByTagName("li")).length;i++)
Line 1 of script
(..)
At unknown location"
und ein paar weitere gleich lautende Fehler.
Könnte mir bitte jemand helfen und sagen worin mein Fehler liegt?
Also das Formular hat den Namen "formular_name" und die darin liegende Liste die Id "menu_id", genau wie es hier und im Script steht. Alle darin enthaltenen Listenpunkte sollen in einer Schleife abgearbeitet werden. Wie ist das möglich?
Vielen Dank für eure Hilfe!
Grüße, Matze