我正在使用javascript制作自己的类方法
.hide = function() {
this.each(function(index){
this.style.display="none";
});
};
但这行不通。
你能告诉我我做错了吗?
最佳答案
不建议在Javascript中向现有对象添加功能。但是,您可以创建如下的辅助函数:
var hide = function(domEle) {
domEle.style.display="none";
}
为了使您能够使用语法,可以执行以下操作:
创建一个接受dom元素数组的类。或提供将dom元素添加到数组的功能。
将函数hide添加到上述类中,而不是每次都使用forEach。每个都不属于
JavaScript规范。读取MDN https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array
这是一些执行相同操作的基本代码(我尚未对此进行语法错误测试):
function myLittleJQuery() {
this._array = [];
}
myLittleJQuery.prototype = {
add: function(domEle) {
this._array.push(domEle);
},
hide: function() {
this._array.forEach(function(domEle){
domEle.style.display = "none";
})
}
}
//Usage
var my$ = new myLittleJQuery();
my$.add(someDomEle);
my$.add(someOtherDomEle);
my$.hide();