寻找合适的模式来扩展DOMElements

时间:2011-12-18 08:31:14

标签: javascript html dom

我是js的新手,需要使用自定义方法和数据扩展dom元素。

对于数据我使用html内置的数据集属性。 对于方法,我不知道该怎么做。

有没有一个众所周知的最佳实践来实现这一目标?

1 个答案:

答案 0 :(得分:2)

围绕DOM元素创建包装器对象并与它们交互而不是直接与DOM元素交互是扩展元素功能的最佳方式,也是jQuery和许多其他库所采用的方法。一些库(特别是Prototype)直接扩展了DOM原型,但这是bad idea并且不可靠。

这是一个包装器的简单示例:

function createElementWrapper(el) {
    return {
        element: el,
        hide: function () {
            el.style.display = "none";
        }
    };
}

var bodyWrapper = createElementWrapper(document.body);
bodyWrapper.hide();