如何执行以下操作,但仅适用于DOM对象,而不是所有对象:
Object.prototype.hide = function() {
this.style.display = 'none';
};
请仅使用纯JavaScript,不使用jQuery或其他第三方库。
此外,请评论您的解决方案的标准和&跨浏览器兼容性。
答案 0 :(得分:5)
DOM中的元素使用HTMLElement
作为原型 - 因此在理想的世界中,您只需添加此内容。
HTMLElement.prototype.hide = function() {
this.style.display = 'none';
};
但是:这在IE中不起作用,所以不用担心。
答案 1 :(得分:1)
建议阅读prototype extends the DOM的方式。
对于代码中的想法(此处太大而无法重现),您可以找到here(搜索Element.extend
)。
用两个词来说,它们不能从start开始扩展对象,因此它们使用返回DOM元素的每个函数扩展它们。