在JavaScript,你会经常看到说document.getElementById("element").someFunction();或$("element").someFunction();代替的功能someFunction($("element"));.凡someFunction(element)看起来像下面的代码一点点.
someFunction(element) {
//element.doSomething();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是你如何创建一个函数来操作它所附加的元素而不是操纵作为参数传递的元素?
你可以使用原型实现它
// `getElementById` returns a `Element` object so extend it's prototype
Element.prototype.someFunction = function(){
// this.somethig
}
document.getElementById("element").someFunction();
Run Code Online (Sandbox Code Playgroud)
Element.prototype.someFunction = function() {
console.log(this.value)
}
document.getElementById("element").someFunction();Run Code Online (Sandbox Code Playgroud)
<input value="abc" id="element" />Run Code Online (Sandbox Code Playgroud)