从Json中动态生成的UL菜单中删除不必要的标记

时间:2015-03-14 22:49:05

标签: java javascript jquery html json

我在这个菜单上工作了最近几天,一切都按照计划的方式工作,但在解析json到aa视图后,生成的html有一些不需要的额外标记,这在添加样式时会产生问题,在项目的这个阶段,我无法修改Json结构。我创建了一个jsfiddle:https://jsfiddle.net/creativestudio/c3urzem6/并且我附加了额外标记的图像:Extra markuo

这是javascript函数:

function list(object) {

            var listView="<ul class='dropdown'>";

            for(prop in object){
            var value = object[prop];

            switch (typeof(value)){
                        case "object":
                        var token = Math.random().toString(36).substr(2,16);

                        listView += "<li><div id='"+ token +"' class='collapse'>"+list(value)+"</div></li>";
                        // listView += "<li>"+list(value)+"</li>";
                        break;

                        case "number": //Need to confirm if ID will be always a number
                        listView += "<span class='hidden'>"+value+"</span>";
                        break;

                        default:

                        listView += "<li>"+value+"</li>";
                    }
                }

                return listView+"</ul>";


        }

更新了突出显示额外标记的图像。 updated image

1 个答案:

答案 0 :(得分:0)

尝试

$(document).ready(function() {    
    var filtered = $(list(data)).find(".dropdown:gt(0)")
    .filter(function(i, el) {
      return /Americas|APJ|Asia/.test($(el).find("li").eq(0).text())
    });
    $("#sidebar").html(filtered);    
});

jsfiddle https://jsfiddle.net/c3urzem6/4/