Ошибка JQuery: фильтр XML применяется к значению, отличному от XML (функция (E, F) {вернуть новое (o.fn.init) (E, F);}) - PullRequest
11 голосов
/ 26 апреля 2010

Я получаю это слегка загадочное сообщение об ошибке:

Фильтр XML применяется к не XML-значению (функция (E, F) {вернуть новое (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 ]

19 голосов
/ 26 апреля 2010

В 4-й строке после jQuery стоит ., который вы должны удалить:

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

Что может быть упрощено до:

if(arg.ok) {
    $('.action-button').removeClass('enabled');
}
0 голосов
/ 03 ноября 2010

Это случается и со мной тоже. Я получаю эту ошибку при вызове функции другого окна:

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

Когда я выполняю код, я получаю сообщение об ошибке: «ошибка: фильтр xml применяется к значению не-xml». Я решил эту проблему следующим образом:

function anyFunction() {

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

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

Тогда функция во всплывающем окне вызывается только тогда, когда она найдена открывателем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...