我正在尝试创建一个执行许多计算并尝试减少依赖性足迹的程序。我不会要求jQuery,因为我不需要"操纵" DOM,但我希望能够轻松创建元素。
有没有办法确定某个属性对于给定标记是否合法,以便不需要为每个案例构建一个地图?
在搜索SO和Google时,我找不到任何有用的东西。
这里有一个简单的JSFiddle DEMO 来搞乱。
var propMap = {
'text' : 'innerHTML'
};
var create = function(tagName, attributes) {
var el = document.createElement(tagName);
if (attributes !== undefined && typeof attributes === 'object') {
for (var prop in attributes) {
if (propMap[prop] !== undefined) {
el[propMap[prop]] = attributes[prop];
} else {
el.setAttribute(prop, attributes[prop]);
}
}
}
return el;
}
var el = create('span', { id : 'foo', class : 'bar', text : 'Hello World' });