2014-02-09 13 views
26

Ich versuche, eine Anwendung zu debuggen, und ich kann nicht starten, weil ich einen Fehler erhalte, während der Browser jquery 2.1.0 lädt. Der Fehler ist in Zeile 1210 der unminifizierten VersionJQuery-Fehler beim Laden "Fehler beim Ausführen der Abfrage: '* ,: x' ist kein gültiger Selektor."

div.querySelectorAll("*,:x"); 

und ich bekomme den Fehler im Titel.

Ich verwende Chrome Version 32.

+1

Was versuchst du mit ': x' zu tun? –

+2

@ArunPJohny Ich glaube nicht, dass es sein Code ist. Klingt wie der Code von jQuery es macht. OP, haben Sie versucht, jQuery erneut herunterzuladen? – casraf

+0

mögliches Duplikat von [Running jQuery Absturz auf IE10/Win7] (http://stackoverflow.com/questions/15145108/running-jquery-crashing-on-ie-10-win7) – congusbongus

Antwort

31

Ich habe diese jQuery bug ticket gefunden, die scheint, was Sie gerade erleben, eine andere auf StackOverflow beschreibt das Problem und eine longer discussion about it on another jQuery bug ticket.

Obwohl es scheint, es ist nicht als Bug markiert, wie es jQuery interne Fehlerprüfung/Ausnahmen geworfen wird.

Als Kommentar von jQuery team describes:

Auflösung auf notabug

Sie auf gefangene Ausnahmen nicht brechen. Wir haben es erwischt, weil wir erwartet es.

+8

Ich möchte mich in die Stirn sehr hart schlagen. Ich hatte es mit einem Projekt zu tun, das jQuery nicht verwendet und in den DevTools von Chrome die Option "Ausnahmebedingungen außer Kraft setzen" erhalten hatte. Dann kehrte ich zu einem älteren Projekt zurück und verlor deswegen eine Stunde. –

+10

Dies ist definitiv ein Fehler, da es den Debugging-Prozess beim Umgang mit anderen abgefangenen Ausnahmen behindert. Es wäre großartig, wenn es einen Weg gäbe, den jQuery-Code zu reparieren, um dieses unendliche Werfen und Einfangen von Ausnahmen zu verhindern. –

+2

@KamenMinkov Fühlen Sie sich nicht so schlecht, ich habe buchstäblich genau den gleichen Fehler gemacht wie Sie. Es hat mich genauso lange gedauert, bis ich auf diese hilfreiche Antwort gestoßen bin. – Kon

-3

* Der Selektor wählt alle Elemente daher mit anderen Selektoren kombinieren, z.B. *,div, ist nicht notwendig.

1

Nur um hinzuzufügen, was ich in Chrome/OSX in einem bestimmten Szenario gefunden habe. Ich fand dies mit .is(':visible')

Es zeigt sich im Protokoll, wenn es von einer Funktion in einer setTimeout() aufgerufen wird, funktioniert aber gut.

Uncaught SyntaxError: Unexpected identifier 
Failed to execute 'matches' on 'Element': ':visible' is not a valid selector. 

Ich bin nicht sicher, ob der Grund, aber ich zog die Verwendung von setTimeout und ging weiter.

-1

Ich hatte das gleiche Problem und löste es durch einen Neustart des Browsers. Es scheint verschwunden zu sein.

-1

Ich hatte das gleiche Problem auch, fuhr mich fast verrückt. Ich habe 3 Tage damit verbracht. Überprüfen Sie Folgendes:

Körpergröße. Nicht nur die CSS-Höhe, sondern auch physisch überprüfen die Höhe, ich benutze mozilla firebug, um das Körperattribut zu wählen, dies hebt es hervor. Wenn es über dem Element oder dem Auswahlbereich liegt, wird der Fehler angezeigt. css auch für den spezifischen Bereich zu wählen, und Körper

-moz-user-select: none; 
-webkit-user-select: none; 
-ms-user-select: none; 
Make sure your user selection is !!NOT!! none. 

Hope this Sie heraus hilft .. ich einige sehr frustrierend Beiträge zu diesem Thema gelesen habe, und es war nicht leicht entweder finden, fand ich es recht zufällig.

1

Wenn Sie Visual Studio-Code zum Debuggen verwenden, deaktivieren Sie einfach die Option "Alle Ausnahmen" im Abschnitt "Haltepunkte".

0

Ich hatte dieses Problem auf Firefox 57.

Die "breaking on exceptions" documentation sagt uns, dass "Pause-Taste (II)" hat drei Staaten. Der dunkelblaue Zustand ist (derjenige vor dem hellblauen Textstatus) der eine, den wir wollen: Er zeigt nicht erfasste Ausnahmen, ignoriert jedoch gefangene.

Verwandte Themen