2010-04-26 12 views
11

Bu biraz şifreli hata iletisini alıyorum:JQuery hatası: XML filtresi XML dışı değere uygulanır (işlev (E, F) {return new (o.fn.init) (E, F);))

XML filtresi XML değeri (fonksiyonu (E, F) {) yeni (o.fn.init geri (E, F)}) uygulanır Bu kod parçacığını çalıştırmak

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

arg, sunucunun JSON biçimindeki bir yanıtıdır.

Bunu nasıl düzelteceğini bilen var mı? basitleştirilmiş olabilir

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

:

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

cevap

19

bir . kaldırmak gerektiğini jQuery sonra var. Ben hata mesajı kodu çalıştırdığınızda

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

: "hatası: xml filtresi olmayan xml değerine uygulanır" Ben diferent pencerenin bir işlev çağırdığınızda bu hatayı alıyorum. Ben bu şekilde thwe sorunu çözüldü: acan finded edildiğinde

function anyFunction() { 

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

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

Sonra açılır penceredeki işlevi yalnızca denir.

+0

Evet, sadece ekstra noktayı farkettim (Ne düşündüğümü bilmiyorum!). Basitleştirilmiş kod için de teşekkürler. JQuery hakkında daha çok şey öğrendiğimde, daha çok seviyorum! – morpheous

+0

Bu, yalnızca jQuery için geçerli değildir. Benim (non-jQuery) kod bazı some.join içerdiği zaman aynı hata msg arayan bu iş parçacığı buldum. ('') - açılış paren önce başıboş dönem dikkat edin. – enigment

0

Çok benim başıma 4 satırda

+2

Zaman aşımı yerine jquery 'ready()' kullanın. 1000 yüklemek için yeterli zaman yoksa, o zaman sen kazandın. –