JSFiddle - React, Tailwind, and code Playground
JavaScript
var json = [
{"title": "Title1", "param": "param1", "subMenu": [
{"title": "SubTitle1", "param": "param1-1"},
{"title": "SubTitle2", "param": "param1-2", "subMenu": [
{"title": "SubSubTitle1", "param": "param1-1-1"},
{"title": "SubSubTitle2", "param": "param1-1-2"},
{"title": "SubSubTitle2", "param": "param1-1-3"}
]}
]},
{"title": "Title2", "param": "param2"},
{"title": "Title3", "param": "param3"}
];
var myfunc = function(param) {
alert(param);
};
function makeList(array, root){
if(typeof root === 'undefined'){
root = $('body');
}
var ul = $("<ul></ul>");
root.append(ul);
for (var i = 0; i < array.length; i++) {
var li = $("<li></li>");
ul.append(li);
var a = $("<a href='#' data-param='" + array[i].param + "'>" + array[i].title + "</a>");
li.append(a);
a.click(function() {
alert($(this).data("param"));
});
if(typeof array[i].subMenu !== 'undefined'){
makeList(array[i].subMenu, li);
}
}
}
makeList(json);