2013-01-14 15 views
5

Sapevo che IE8 era un dolore, ma non l'ho mai visto darmi un tale problema. Tutto quello che sto cercando di fare è definire un oggetto Javascript e provoca un errore, impedendo a tutti gli script di lavorare sulla pagina.Errori IE8 durante la definizione di un oggetto Javascript?

L'errore è "Identificatore previsto, stringa o numero" e indica che il problema si verifica dove definisco la proprietà "classe" di seguito. Ho visto innumerevoli script che definiscono gli oggetti in questo modo, quindi perché IE8 vomita su questo?

Ho isolato il codice incriminato. Mettendo questo nella testa di una pagina HTML da solo e eseguendolo in IE8 causerà il problema che sto vedendo.

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

IE è orribile per "riservato parole "che non sono. prova a cambiare temporaneamente la classe in qualcos'altro, ad es. "foo", e guarda cosa succede. –

risposta

6

Definire utilizzando appropriati tipo di dati racchiudendo tra virgolette, "class"

5

È perché class è una parola chiave riservata. Prova a mettere le virgolette intorno ad esso 'class'

+1

Ho visto che molti plugin hanno bisogno di lezioni. Il metodo comune è chiamarlo 'klass'. –

+0

'className' è un altro comunemente usato (Backbone) –

0

in addtion per @PickYourPoison rispondere è anche possibile utilizzare questo trucco:

var atts= {}; 
atts["class"] = "LOL"; 
Problemi correlati