JQuery错误:XML过滤器应用于非XML值(函数(E,F){return new(o.fn.init)(E,F);})

时间:2010-04-26 06:34:06

标签: jquery json

我收到这个有点神秘的错误信息:

XML过滤器应用于非XML值(函数(E,F){return new(o.fn.init)(E,F);})

当我运行此代码段

function justDoIt(arg){
    msg = arg.msg;
    if(arg.ok)
        jQuery.(".action-button").each(function(idx,el){jQuery(this).removeClass('enabled');} );
}

arg是服务器的JSON格式响应。

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:19)

在第4行,您应该删除.之后的jQuery

if(arg.ok) {
    $('.action-button').each(function() {
        $(this).removeClass('enabled');
    });
}

可以简化为:

if(arg.ok) {
    $('.action-button').removeClass('enabled');
}

答案 1 :(得分:0)

它也发生在我身上。当我调用不同窗口的函数时,我收到此错误:

function anyFunction() {
    popup=window.open("...");
    popup.someFunction(...);
}

当我执行代码时,我收到错误消息:“错误:xml过滤器应用于非xml值”。我用这种方式解决了问题:

function anyFunction() {

    popup=window.open("...");

    if(popup.someFunction) {
        popup.someFunction(...);
    } else {
        setTimeout("anyFunction()", 1000);
    }
}

然后弹出窗口中的函数仅在开启者查找时被调用。