如何解决这个javascript函数

如何解决这个javascript函数,javascript,json,Javascript,Json,我调用这个函数 el=DOM.create({tag:"div",css:{backgroundColor:"#000000",color:"green"},html:"abc"}); $("#fb_dv").append(el); 我的职责就在这里 DOM={ create:function(data){ if(data.tag){ d=document; doc=d.createElement(data.t

我调用这个函数

   el=DOM.create({tag:"div",css:{backgroundColor:"#000000",color:"green"},html:"abc"});
   $("#fb_dv").append(el);
我的职责就在这里

DOM={
    create:function(data){
        if(data.tag){
            d=document;
            doc=d.createElement(data.tag);
            for(var v in data){
                 if(v=="css"){
                     for(key in data[v]){
                        prop=doc.style;
                        prop.key=data[v][key]
                     }
                 }
                 if(v=="html"){
                     doc.innerHTML=data[v]
                 }
            }

            return doc;
        }
    }
}

问题在于此函数没有设置css属性

问题在于应该设置样式的for循环中。您需要使用方括号语法来设置正确的属性:

for(key in data[v]){
    prop = doc.style;
    //prop.key = data[v][key]... change this to this:
    prop[key] = data[v][key];
}
这是一个例子


作为旁注,您有许多缺少的
var
语句,因此您的所有变量都泄漏到全局范围中,并且您还有许多缺少的分号。

第二行,使用
$.append()
是您自己的库吗?是的,我已经创建了它,但问题是DOM函数在
prop.key=data[v][key]
doc.innerHTML=data[v]
DOM
关闭后缺少它们。