2017-12-31 130 views
-4

コンソールは私に次のエラーを表示します。 "型エラーがヌルのプロパティaddeventlistnerを読み取ることができません"スクリプトの最後にあります。ヌル値をクリアする方法は、ここで解決策を見つけることができます。ほとんどのエラーはスクリプトを頭に入れていますが、私はbegin.helpからこの問題を覚えて解決します。TypeError:ヌルのプロパティ 'addEventListener'を読み取ることができません

 <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

htmlを共有できますか? – Ele

+1

1.完全なhtml ..を表示します。2.どの行にエラーが表示されますか?編集:あなたはクラス名の前にドットを忘れたように見える – StyleSh1t

+2

私はあなたが 'querySelctor'を正しく使用していないと推測していると思います。この関数は[CSSセレクタ](https://www.w3schools.com/cssref/css_selectors.asp)スタイルの構文を使用しています。 –

答えて

3

すべてのセレクタを正しく更新してください。それらのいくつかには./#がありません。

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

@palash thx –

+0

うまくいきました。明けましておめでとうございます! –

+0

幸せな新年:) –

関連する問題