Matze: alle <li> einer bestimmten <ul> verändern

Beitrag lesen

Hallo EKKI!

Versuch doch mal, nicht alles in einer Anweisung zu schreiben und gib Dir dir erzeugten Objekte mal testweise aus - es sieht nämlich so aus, als ob irgendeins Deiner HTML-Elemente nicht existiert und Javascript deshalb kein entsprechendes Objekt erstellen kann

Also im Quelltext steht:

  
<form method="post" action="/index.php" enctype="application/x-www-form-urlencoded" name="formular_name" ><p>(...)</p>  
<ul id="menu_id">  
<li>(...)  

Die Elemente sind also eindeutig vorhanden. Sogar fast direkt nacheinander. Nur ein <p></p> ist dazwischen.

(abgesehen davon, dass bei Deiner Konstruktion bei JEDEM Schleifendurchlauf der DOM-Baum durchsucht werden muss):

Könnte ich das irgendwie besser lösen? Also wie? ;)

var formular = 'formular_name';
var menu = 'menu_id';

var frm = document.forms[formular];
alert(frm);
var mnu = frm.getElementById(menu);
alert(mnu);
var lis = mnu.getElementsByTagName('li');
alert(lis);
var len = lis.length;
alert(len);

for (var i = 0; i < len; i++) {
  /* tu etwas */
}

  
Genau dieser Code gibt mir einen Alert mit [object HTMLFormElement] zurück.  
Mehr nicht. Es sieht also so aus, als ob er die <ul> mit der Id "menu\_id" nicht findet obwohl sie da ist :/  
  
Danke für deine Hilfe!  
  
Grüße, Matze