jQuery funktioniert nicht in Internet Explorer 8 ("this" gibt DOM anstelle von jq zurück)

8

Ich stehe vor einem seltsamen Problem und kann keine Lösung finden.

jQuery (jede Version von 1.7. * bis 1.10. *) schlägt in Internet Explorer 8 fehl. Alle Plugins ( von Bootstrap) und die jQuery-Bibliothek fallen mit einem Fehler:

  

Objekt unterstützt diese Eigenschaft oder Methode nicht

Screenshot vom Debugger :

Digging Plugins Code wie folgt:

%Vor%

zeigt das Problem: Dieses -Schlüsselwort verweist auf HTMLDomObject , nicht auf ein jQuery-Objekt. Was kann solch einen seltsamen Fehler verursachen?

Nur in Internet Explorer 8 !

    
Terion 13.08.2013, 11:16
quelle

3 Antworten

0

Ich habe einen Code gefunden, der dieses Problem verursacht hat. Ich verstehe immer noch nicht, wie es alle jQuery auf diese Weise kaputt machen konnte und warum es überhaupt brach (wieder funktionierte es perfekt in allen Browsern außer Internet Explorer 8), änderte aber die für in Iterator zu $ ​​.each () machte Fehler zu verschwinden.

%Vor%     
Terion 14.08.2013, 16:45
quelle
0

Ein anderer Code oder ein anderes Plugin lädt möglicherweise eine andere JavaScript-Bibliothek, und der aufrufende Code kümmert sich möglicherweise nicht um jQuery.noConflict() . Das ist mir mehrmals passiert. In der Zwischenzeit können Sie, um Ihren Code funktionsfähig zu machen, auch Folgendes tun:

%Vor%     
anishdeena 14.08.2013 11:15
quelle
-1

Wenn Sie die Methode jQuery.each verwenden, zeigt "this" (im Callback) auf das DOM-Element und nicht auf den jQuery-Wrapper. Wie folgt, müssen Sie "dies" in jQuery-Objekt umbrechen:

%Vor%     
bonbonez 13.08.2013 21:12
quelle