Javascript 将新方法附加到jQuery对象

Javascript 将新方法附加到jQuery对象,javascript,jquery,Javascript,Jquery,我正在尝试创建一个简单的原型,我可以调用如下DIV: $('#mydiv').processHtml(); 这就是我所尝试的: Object.prototype.processHtml = function() { var html = this.html(); // call ajax.... } 但是JavaScript抛出了一个例外,html不是一种方法。我尝试了HtmlDivelment而不是Object,但没用。有指针吗?您修改了错误的原型-您试图修改对象的原

我正在尝试创建一个简单的原型,我可以调用如下DIV:

$('#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();