如何创建一个点功能'? (js对象?)

时间:2015-03-12 15:25:09

标签: javascript html



Document.prototype.greenify = function(){
    return {
        style : function(){
            return this.color = "green";
        }
    }
};
document.getElementsByTagName("H1")[0].greenify();

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<h1>TEST</h1>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
&#13;
&#13;
&#13;

嘿那边,

我想建立一个点功能&#39;。 我的试用功能应该是绿化&#39;我的元素。 我已经尝试将该函数添加到Window-对象,但我得出了相同的结果。 那么,现在我的问题...... 我做错了什么或忘记了什么? 感谢我收到的每一个答案:)

1 个答案:

答案 0 :(得分:4)

h1个元素不会从Document.prototype继承。他们继承自:

  • HTMLHeadingElement.prototype
  • HTMLElement.prototype
  • Element.prototype
  • Node.prototype
  • EventTarget.prototype
  • Object.prototype

例如,您可以将方法添加到HTMLElement.prototype

HTMLElement.prototype.greenify = function(){
    this.style.color = "green";
};
document.getElementsByTagName("H1")[0].greenify();

HTMLElement.prototype.greenify = function(){
    this.style.color = "green";
};
document.getElementsByTagName("H1")[0].greenify();
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<h1>TEST</h1>
<script type="text/javascript" src="main.js"></script>
</body>
</html>

但请注意,修改您不拥有的对象被视为不良做法。