如何解决这个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
关闭后缺少它们。