Hallo Jörg, erst einmal Vielen Dank für deine schnelle Antwort. Tatsächlich werd ich bei den JSON objekten landen müssen, soweit bin ich jedoch nicht :-) Ich habe versucht, die Objekt-Variante anzuwenden, damit ich auch verstehe was ich tue:
<!DOCTYPE html">
<html>
<head>
<title>Navigation "neu laden"</title>
<style type ="text/css">
<!--
html, body{
font-family:Arial, sans serif;
font-size:14px;
}
.clear{
clear:both;
}
a{
text-decoration:none;
}
ul#submenu{
list-style:none;
width:18em;
height:10em;
margin:0;
padding:0;
background:red;
}
ul#submenu li{
display:block;
border:1px solid black;
border-radius:5px;
margin:2px;
width:4em;
height:2em;
float:left;
}
-->
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function MyMenu(title, items) {
this.title = title;
this.items = new Array();
MyMenu.prototype.addItem = function (item) {
this.items.push(item);
}
}
function machMenu(){
var menu = new MyMenu("Testmenu");
var untermenu = new MyMenu ("Untermenu");
//hier wird dem Testmenu das Untermenu hinzugefügt
menu.addItem(untermenu);
//hier bekommt das Untermenu zwei neue Untermenupunkte
untermenu.addItem(new MyMenu("Unteroption1"));
untermenu.addItem(new MyMenu("Unteroption2"));
// Traversing Menu
for (var i = 0; i< menu.items.length; i++) {
//warum wieder var untermenu??
var untermenu = menu.items[i];
alert (untermenu.length);
if (untermenu.length > 0) {
// weitere untermenus
}
else {
// keine untermenus
alert ("keine");
}
}
}
</script>
</head>
<body onload="machMenu()">
<header>
-----kopf-----
</header>
<h2><a id="shownLevel">Test: generiere Liste</a></h2>
<ul id="submenu">
<!--dynamic list menu-->
</ul>
<div class="clear"></div>
<footer>
-----fuhuß-----
</footer>
</body>
</html>
Ehrlich gesagt verstehe ich nicht, warum das untermenu per alert keine "länge" hat, es müsste doch 2 Einträge haben. Hab ich das falsch eingebaut?
Viele Grüße