2016-04-06 9 views
-1

Ich mag eine Sidebar machen, die Inhalte dynamisch von einem Objekt Ergebnis erstellen in JavascriptJavascript, so dass eine Seite

Object { Chemistry: Array[3], Maths: Array[1], Physics: Array[2] } 

Und auch ein Element in Array gibt es oben

+0

nicht klar, auch sagen uns, was Sie bisher versucht haben ... – miguelmpn

+0

ich es will wie sein: Inhaltsverzeichnis: Chemie: dann ein Element aus dem Array –

+0

und die Fragen sind? – Yerken

Antwort

0

das weiß ich nicht der beste Weg, es zu tun, aber das ist eine Idee, wie man es machen:

var obj = {'Chemistry':['Chemistry1','Chemistry2','Chemistry3'],'Maths':['Maths1'],'Physics':['Physics1','Physics2']}; 
 

 
function isNumber(n) { 
 
    return !isNaN(parseFloat(n)) && isFinite(n); 
 
} 
 

 
function ulCreator(obj){ 
 
    var menu = document.createElement("UL"); 
 
    for (var key in obj) { 
 
     var node = document.createElement("LI"); 
 
     var textnode = document.createTextNode(isNumber(key) ? obj[key] : key); 
 
     node.appendChild(textnode); 
 
     
 
     if(Array.isArray(obj[key])){ 
 
     node.appendChild(ulCreator(obj[key])); 
 
     } 
 
     menu.appendChild(node); 
 
    } 
 
    return menu; 
 
} 
 

 
document.getElementById("main").appendChild(ulCreator(obj));
<div id="main"> 
 
</div>

Verwandte Themen