如何使函数在元素后面
How to make a function to go after an element
在JavaScript
中,您经常会看到函数是document.getElementById("element").someFunction();
或$("element").someFunction();
而不是someFunction($("element"));
。其中someFunction(element)
看起来有点像下面的代码。
someFunction(element) {
//element.doSomething();
}
我的问题是,如何创建一个函数来操纵它所附加的元素,而不是操纵作为参数传递的元素?
您可以使用原型来实现它
// `getElementById` returns a `Element` object so extend it's prototype
Element.prototype.someFunction = function(){
// this.somethig
}
document.getElementById("element").someFunction();
Element.prototype.someFunction = function() {
console.log(this.value)
}
document.getElementById("element").someFunction();
<input value="abc" id="element" />
注意:扩展本机对象的原型是非常糟糕的做法。
您正在寻找prototypes
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype
element.prototype.someFunction = function(){
this.doSomething(); // this refers to element
}
相关文章:
- 动态修改一个元素,使其与给定的选择器匹配
- 选择一个元素,使其最近的具有特殊属性的父元素具有特殊值
- 如何添加效果,以便将鼠标悬停在 SVG 元素上使其变大
- 如何在画布元素中使圆的半径响应
- 定位父元素,使子元素处于完全相同的位置
- 一次性绑定两个元素,使其在页面加载时可见
- 如何使用jquery操作元素,使其与css Selector相匹配"第n种类型”;
- 如何使用js和css创建一个新的DOM元素,使其能够驻留在不同的域中
- 如何在单击按钮时滚动到元素并使其悬停
- jQuery:将鼠标悬停在一个元素上会使另一个元素褪色,但当鼠标悬停在该元素上时,它会消失
- 添加数据到元素,使jquery's .data("key")工作
- 移除一个元素会使元素保持在(重新)计算中
- 试图从数组中删除一个元素并使数组“刷新”.在网页上使用Javascript
- 获取具有特定值的元素,使其被选中
- 当在可拖动元素上使用时,端点不刷新位置
- CSS如何修复一个元素,使其与页面水平滚动,而不是垂直滚动
- 使用JQuery切换元素会使父元素的一部分不可见
- 定位多个随机大小、绝对定位的元素,使它们不会;t重叠
- 如何发送'ctrl+end'键<text区域>元素,使光标落在最后一个字符之后
- 动画元素,使其在其他元素上滑动并拉伸到设定的宽度