How to make a function to go after an element
本问题已经有最佳答案,请猛点这里访问。
在
1 2 3 | someFunction(element) { //element.doSomething(); } |
我的问题是,如何使一个函数操纵它所附加的元素,而不是操纵作为参数传递的元素?
你可以用原型来实现它
1 2 3 4 5 6 | // `getElementById` returns a `Element` object so extend it's prototype Element.prototype.someFunction = function(){ // this.somethig } document.getElementById("element").someFunction(); |
1 2 3 4 5 | Element.prototype.someFunction = function() { console.log(this.value) } document.getElementById("element").someFunction(); |
1 | <input value="abc" id="element" /> |
注意:扩展本机对象的原型是非常糟糕的做法。
你在找
https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/object/prototype
1 2 3 | element.prototype.someFunction = function(){ this.doSomething(); // this refers to element } |