检查每个标记是否允许属性

时间:2014-07-28 22:47:44

标签: javascript properties exists setattribute createelement

我正在尝试创建一个执行许多计算并尝试减少依赖性足迹的程序。我不会要求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' });

0 个答案:

没有答案