2017-12-31 136 views
-4

Konsole zeigt mir den folgenden Fehler "Typ Fehler kann Eigenschaft addeventlistner von null nicht lesen" mein Skript befindet sich am Ende der Seite.Wie Sie den Nullwert deaktivieren klicken und Funktion ausführen here.Cant finden Lösung meist der Fehler ist Skript in den Kopf, aber ich habe in den Boden von Anfang an platziert.Helfen Sie mir, dieses Problem zu lernen und zu lösen !!!TypeError: Kann Eigenschaft 'addEventListener' von null nicht lesen

 <div class="form"> 
     <label for="guessField">Enter a guess: </label> 
     <input type="text" id="guessField" class="guessField"> 
     <input type="submit" value="Submit guess" class="guessSubmit"> 
    </div> 

    <p class="guesses"></p> 
    <p class="lastResult"></p> 
    <p class="lowOrHi"></p> 
<script> 

    var random = Math.floor(Math.random() * 100) + 1; 

    var userguess = document.querySelector('.guessField'); 

    var userSubmit = document.querySelector('guessSubmit'); 

    var guesses = document.querySelector('guesses'); 

    var lastResult = document.querySelector('lastResult'); 

    var lowOrHi = document.querySelector('lowOrHi'); 

    var guesscount = 1; 

    var resetbutton; 

    function checkGuess() { 

     var userinput = Number(userguess.value); 

     if (guesscount === 1) { 
      guesses.textContent = 'previous guesses:'; 
     } 
     else { 
      guesses.textContent = 'previous guesses' + userinput; 
     } 

     if (userinput === random) { 

      lastResult.textContent = "awesome bruh you got it right"; 
      lastResult.style.backgroundColor = 'green'; 
      gameOver(); 
     } 

     else if (guesscount === 10) { 
      lastResult.textContent = "oops you have run out of try"; 
      gameOver(); 
     } 

     else { 
      lastResult.textContent = "wrong value"; 
      lastResult.style.backgroundColor = 'red'; 
     } 

     if (userinput < random) { 
      lowOrHi.textContent = "it was too low"; 
     } 

     else if (userinput > random) { 
      lowOrHi.textContent = "it was too high"; 
     } 

     guesscount++; 
    } 

    userSubmit.addEventListener('click', checkGuess); 

</script> 
+0

Können Sie die HTML teilen? – Ele

+1

1. Zeigen Sie das vollständige HTML. 2. Auf welcher Zeile erhalten Sie den Fehler? EDIT: sieht aus wie Sie vergessen Punkte vor Klassennamen – StyleSh1t

+2

Ich werde raten und sagen, Sie verwenden 'querySelctor' nicht korrekt. Diese Funktion verwendet [CSS-Selektor] (https://www.w3schools.com/cssref/css_selectors.asp) -Stilsyntax, –

Antwort

3

Versuchen Sie alle Ihre Selektoren richtig zu aktualisieren. Sie fehlen in einigen von ihnen ./#.

var userSubmit = document.querySelector('.guessSubmit'); 
//         ----^---- 
// add `.` or `#` based on what guessSubmit selector is for 
+0

es funktioniert @palash thx –

+0

Froh, dass es geholfen hat. Frohes neues Jahr! –

+0

guten Rutsch ins neue Jahr :) –

Verwandte Themen