我正在调用此功能
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属性
答案 0 :(得分:3)
问题出在应该设置样式的for循环中。您需要使用方括号语法来设置正确的属性:
for(key in data[v]){
prop = doc.style;
//prop.key = data[v][key]... change this to this:
prop[key] = data[v][key];
}
作为旁注,你有很多遗漏的var
语句,所以你的所有变量都泄漏到了全局范围内,你也有很多缺失的分号。