鍍金池/ 問答/HTML/ 動態(tài)數(shù)據(jù)循環(huán)遍歷的問題

動態(tài)數(shù)據(jù)循環(huán)遍歷的問題

代碼如下,這是從后臺獲取的左側(cè)菜單欄,現(xiàn)在我要想在一級菜單前面加上不同的小圖標,怎么在ajax里面設(shè)置,小圖標放在標簽里,怎么給每個小圖標設(shè)置不同的類名來顯示不同的圖標,具體的代碼應(yīng)該怎么寫?

function getSubMenu(id){
        var url = '${ctx }/getSubMenu.action';
        $.ajax({  
            async : false,    
            type : 'post',    
            url : url,    
            data : {    
                'parentId' : id
            },    
            success : function(data) { 
                var data = eval('('+data+')');
                var length = data.length;
                if(length<=0){
                    $(".index").show();
                    $("#left").hide();
                    $(".footer").hide();
                    $('#indexP').attr('src', '${ctx}/index.action');
                }else{
                    $(".index").hide();
                    $("#left").show();
                    $(".footer").show();
                    var html ='' ;
                    $.each(data, function(idx, obj) {
                        var flag = false;
                           if(obj.parentId==id){
                               $.each(data, function(idx2, obj2) {
                                if(obj2.parentId == obj.id){
                                    flag = true;
                                }
                            });
                            if(flag){
                                var h = '';
                                h += '<li><div class="main-menu left-li">'+obj.label+'</div><ul class="sub-menu">';
                                $.each(data, function(idx3, obj3) {
                                    if(obj3.parentId == obj.id){
                                        h += '<li><a class="easyui-linkbutton" id="'+obj3.id+'"  href="javascript:void(0);"  onclick="addTab(\''+obj3.label+'\',\''+obj3.targetUrl+'\',\''+obj3.icoPath+'\')"><i class="icons"></i>'+obj3.label+'</a></li>';
                                    }
                                });
                                h += '</ul></li>';
                                html += h;
                            }else{
                                html += '<li><a class="easyui-linkbutton main-menu1 left-li" id="'+obj.id+'"  href="javascript:void(0);"  onclick="addTab(\''+obj.label+'\',\''+obj.targetUrl+'\',\''+obj.icoPath+'\')">'+obj.label+'</a></li>';
                            }
                        }
                    });
                    $("#subMenu").html(html);
                    $.getScript("${ctx}/baseStyle/js/index.js");
                }
                
            }    
        }); 
    }
回答
編輯回答
裸橙

使用<i [attr.class]="icon"></i>的形式顯示,這個icon就是從后臺取過來的小圖標的class類名

2017年2月22日 13:12
編輯回答
純妹

可以讓后臺給你一起返回

2017年9月22日 09:41
編輯回答
未命名

最簡單的就是讓后端在處理數(shù)據(jù)的時候就加上類名

2018年3月12日 00:21
編輯回答
陪我終

直接在each循環(huán)的時候加上不同的class,然后css不同的class寫不同的圖標,這樣不行嗎?

2017年11月14日 11:01
編輯回答
淚染裳

首先不要用eval,用$.parseJSON()或者JSON.parse() 然后 ,數(shù)據(jù)格式設(shè)計讓后臺直接給你返回來,如果用class來做就和后臺約定好類名,或者直接讓后臺返回imgUrl

2018年4月15日 10:51