我是js的新手,需要使用自定义方法和数据扩展dom元素。
对于数据我使用html内置的数据集属性。 对于方法,我不知道该怎么做。
有没有一个众所周知的最佳实践来实现这一目标?
答案 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();