日期:2014-05-16  浏览次数:20441 次

关于js的树形表的生成
我这里有个这样的树形对象

var i1={
id:1,
name:1,
Is:[{
id:2,
name:2
},{
id:3,
name:3,
Is:[{
id:4,
name:4,
Is:[{
id:6,
name:6
},{
id:7,
name:7
}]
},{
id:5,
name:5,
Is:[{
id:8,
name:8
},{
id:9,
name:9
}]

}]
}]

}



我现在想有一个函数,使得他可以输出一个HTML的表格,这样会不会很难?

------解决方案--------------------

var i1={
    id:1,
    name:1,
    Is:[{
        id:2,
        name:2    
    },{
        id:3,
        name:3,
        Is:[{
            id:4,
            name:4,
            Is:[{
                id:6,
                name:6
            },{
                id:7,
                name:7
            }]
        },{
            id:5,
            name:5,
            Is:[{
                id:8,
                name:8
            },{
                id:9,
                name:9
            }]
         
        }]
    }]
     
};
function fn(data , deep){
var split = '';
for(var i = 0 ; i < deep ; ++i){
split+=' ';
}
split+='
------解决方案--------------------
-';
console.log(split+data.name);
if(typeof data.Is!='undefined'){
for(var i in data.Is){
fn(data.Is[i] , deep+1);
}
}
}
fn(i1,0);


效果图



打开google浏览器,切换到Console选项卡,看下是不是你要效果。
------解决方案--------------------
<!DOCTYPE HTML>
<html>