2013-03-21 10 views

risposta

33

Hai una chiusura aggiuntiva } nella tua funzione.

var nav = document.getElementsByClassName('nav-coll'); 
for (var i = 0; i < button.length; i++) { 
    nav[i].addEventListener('click',function(){ 
      console.log('haha'); 
     }  // <== remove this brace 
    }, false); 
}; 

Si dovrebbe utilizzare qualcosa come JSHint o JSLint per aiutare a trovare queste cose. Questi strumenti si integrano con molti editor e IDE, oppure puoi semplicemente incollare un frammento di codice nei siti web sopra citati e chiedere un'analisi.

+0

Per me è stato un ";" dopo la chiusura della mia funzione} ma la tua risposta ha aiutato a trovarla. Installato JSlint e cercato errori –

10

Hai avuto un extra } a molti come si vede qui sotto:

var nav = document.getElementsByClassName('nav-coll'); 
for (var i = 0; i < button.length; i++) { 
    nav[i].addEventListener('click',function(){ 
      console.log('haha'); 
     } // <-- REMOVE THIS :) 
    }, false); 
}; 

Un ottimo strumento per quelle cose è jsFiddle. Ho creato un violino con il tuo codice non valido e quando fai clic sul pulsante TidyUp formatta il tuo codice che rende più chiaro se ci sono eventuali errori con parentesi graffe mancanti.


DEMO - il codice in un violino, hanno un gioco :)


+1

wow ... mi dispiace è stato un errore davvero stupido, io uso SublimeText 2 ma non potevo vederlo, penso che andrò a dormire ... Grazie mille! –