2013-01-14 17 views
5

Ich wusste, IE8 war ein Schmerz, aber ich habe nie gesehen, dass es mir solche Probleme bereitet. Alles, was ich versuche, ist ein Javascript-Objekt zu definieren, und es verursacht einen Fehler, der alle Skripte daran hindert, auf der Seite zu arbeiten.IE8 Fehler beim Definieren eines Javascript-Objekts?

Der Fehler ist "Erwartete Kennung, Zeichenfolge oder Nummer" und zeigt an, dass das Problem dort auftritt, wo ich die Eigenschaft "Klasse" unten definiere. Ich habe unzählige Skripte gesehen, die Objekte auf diese Weise definieren. Warum kotzt IE8 auf?

Ich isoliert den fehlerhaften Code zu diesem. Platzieren Sie dies in den Kopf einer HTML-Seite und führen Sie es in IE8 wird das Problem, das ich sehe.

<script type="text/javascript" language="javascript"> 
var atts = {class: "trigger"}; 
</script> 
+2

IE ist schrecklich für „reserviert Wörter "die nicht sind. Versuchen Sie, die Klasse vorübergehend in etwas anderes zu ändern, z. "foo", und sehen, was passiert. –

Antwort

6

setzen definieren entsprechenden Datentyp von in Anführungszeichen gesetzt, "class"

5

Es ist, weil class ein reserviertes Schlüsselwort ist. Versuchen Sie Anführungszeichen um es 'class'

+1

Ich habe viele Plugins gesehen, die Klassen brauchen. Die übliche Methode ist es, "klass" zu nennen. –

+0

'className' ist eine andere häufig verwendete (Backbone) –

0

in addtion zu @PickYourPoison Sie beantworten kann auch diesen Trick verwenden:

var atts= {}; 
atts["class"] = "LOL"; 
Verwandte Themen