Javascript 将新方法附加到jQuery对象
我正在尝试创建一个简单的原型,我可以调用如下DIV:Javascript 将新方法附加到jQuery对象,javascript,jquery,Javascript,Jquery,我正在尝试创建一个简单的原型,我可以调用如下DIV: $('#mydiv').processHtml(); 这就是我所尝试的: Object.prototype.processHtml = function() { var html = this.html(); // call ajax.... } 但是JavaScript抛出了一个例外,html不是一种方法。我尝试了HtmlDivelment而不是Object,但没用。有指针吗?您修改了错误的原型-您试图修改对象的原
$('#mydiv').processHtml();
这就是我所尝试的:
Object.prototype.processHtml = function() {
var html = this.html();
// call ajax....
}
但是JavaScript抛出了一个例外,html不是一种方法。我尝试了HtmlDivelment而不是Object,但没用。有指针吗?您修改了错误的原型-您试图修改对象的原型,但必须修改jQuery的原型,因为这是一个jQuery对象,而不是JavaScript对象。因此会出现错误,因为常规JavaScript对象没有html方法 所有jQuery方法都附加到jQuery对象的fn属性,因为fn属性只是原型的别名:
jQuery.fn === jQuery.prototype
因此,要向jQuery对象的原型添加方法,必须访问jQuery对象的fn属性原型,或者:
jQuery.fn.processHtml = function() {
...
}
或者美元:
这将向原型中添加函数,并在jQuery对象的所有实例中共享该方法:
$(selector).processHtml();
@安德烈:谢谢。让我试试这个。你是在为jQuery定义一个原型方法吗?
$(selector).processHtml();