如何扩展样式对象

时间:2014-01-23 20:27:44

标签: javascript css

我正在尝试创建一个填充一些css元素的简短方法。 我想要一种快速的方法来设置元素的样式属性。

我能做(例如):

Element.prototype.set_box = function  (left, top, width, height) 
   { this.style.left = left+"px";    this.style.top=top+"px";
     this.style.width  = width+"px"; this.style.height = height+"px";         
   }

 obj = getElementById(id_name);
 obj.set_box (10,20,300,200);

我不想编写代码来访问样式对象,而是访问样式对象本身,如下所示:

Element.style.prototype.set_box = function  (left, top, width, height) 
   { this.left = left+"px";    this.top=top+"px";
     this.width  = width+"px"; this.height = height+"px";         
   }

 Style.prototype.set_box = function  (left, top, width, height) 
   { this.left = left+"px";    this.top=top+"px";
     this.width  = width+"px"; this.height = height+"px";         
   }

但是不可能。我有一个警告“未定义......”。 任何的想法 ? 感谢。

1 个答案:

答案 0 :(得分:0)

要扩展的正确原型是:

CSSStyleDeclaration.prototype.set_box = function...

一般来说,为了找到这个,在你的控制台中运行这样的东西:

[a known instance of the object].constructor

例如:

document.body.style.constructor