Javascript 将jQuery对象扩展到我自己的对象

Javascript 将jQuery对象扩展到我自己的对象,javascript,jquery,extend,Javascript,Jquery,Extend,我的问题是下面的代码! 我想将jQuery对象扩展到我的XjQuery对象,我似乎正在工作。 但是在我将找到对象的each函数中,函数myfunc没有声明 这里怎么了 干杯 对不起,我的英语很差 XjQuery = function() { var jq = $("<div id=xjq>hallo</div>"); $.extend(this, jq); } XjQuery.proto

我的问题是下面的代码! 我想将jQuery对象扩展到我的XjQuery对象,我似乎正在工作。 但是在我将找到对象的each函数中,函数myfunc没有声明 这里怎么了

干杯

对不起,我的英语很差

    XjQuery = function()
    {           
        var jq = $("<div id=xjq>hallo</div>");
        $.extend(this, jq);
    }
    XjQuery.prototype.myfunc = function() {
        this.append("<p>myfunc called</p>");
    }
    xjq = new XjQuery();

    xjq.myfunc(); // this works
    $("#maindiv").append(xjq); // works also 
    $("#maindiv").find("#xjq").each(function() {
        $(this).myfunc(); // doesn't work
    });
XjQuery=function()
{           
var jq=$(“哈罗”);
$.extend(这个,jq);
}
XjQuery.prototype.myfunc=函数(){
这个.append(“myfunc调用

”); } xjq=newxjquery(); xjq.myfunc();//这很有效 $(“#maindiv”).append(xjq);//也起作用 $(“#maindiv”).find(#xjq”).each(function(){ $(this).myfunc();//不起作用 });
每个
中,
这个
是一个本地DOM元素,
$(这个)
是一个jQuery对象。您需要将jQuery对象“转换”为
xjQuery
对象

首先,为什么要创建
xJquery
对象?为什么不做一个决定呢

然后你可以做:

$("#maindiv").find("#xjq").each(function() {
    new XjQuery(this).myfunc();
});

Rocket是正确的,向jQuery添加扩展的正确方法是通过插件。这些扩展将在
$
对象上显示为普通方法。例如
$('#a-div-id').myPluginMethod(一个参数,另一个参数)
我忘了提到,.My扩展只是一个例子,我有更多不同的对象,这些对象将从jQuery扩展,每个对象都有不同的成员functions@helmi:问题仍然是您需要将jQuery转换为“扩展”对象。我想,您可以使用
$.extend
创建一个函数来实现这一点。是否可以将本机对象强制转换为我的扩展对象
XjQuery = function(jq)
{           
    jq = typeof jq === 'undefined' ? $("<div id=xjq>hallo</div>") : $(jq);
    $.extend(this, jq);
}
$("#maindiv").find("#xjq").each(function() {
    new XjQuery(this).myfunc();
});