1. ホーム
  2. javascript

[解決済み] TypeError: null のプロパティ 'textContent' を設定できない [重複] 。

2022-02-17 14:24:06

質問

現在、このコードにしばらく問題があり、いくらチェックしてもエラーが出続けます。

エラーはすべて同じです。

TypeError: null のプロパティ 'textContent' を設定できません。

querySelectorを使ったときやgetElementByIdを使ったときにも、同じことが言えます。私のHTMLのせいなのか、それとも私が間違ってインプットしているのか分かりませんが。

しかし、VSC(ビジュアル・スタジオ・コード)を使ってクロームで実行すると、エラーが表示されるのです。私のコードが原因なのか、VSCが原因なのか?

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

document.querySelector("#current-0").textContent = dice;
<div class="wrapper clear-fix">
    <div class="player1-panel active">
        <div class="player-name" id="player-1">Player 1</div>
        <div class="player-score" id="score-1">100</div>
        <div class="player-current-box">
            <div class="player-current-label">Current</div>
            <div class="player-current-score" id="current-0">11</div>
         </div>
    </div>

        <div class="player2-panel">
            <div class="player-name" id="player-2">Player 2</div>
            <div class="player-score" id="score-2">00</div>

            <div class="player-current-box">
                <div class="player-current-label">Current</div>
                <div class="player-current-score" id="currentScore-2">00</div>
            </div>
        </div>
        <button class="btn-rules"><i class="material-icons">
                help</i>Rules</button>
        <button class="btn-newGame"><i class="material-icons">
                add_circle_outline
            </i>New Game</button>
        <button class="btn-rollDice"><i class="material-icons">
                autorenew</i>Roll dice</button>
        <button class="btn-hold"><i class="material-icons">
                play_for_work</i>Hold</button>

        <input type="text" placeholder="Goal" class="finalScore">
        <img src="images/dice5.png" atl="dice" class="dice" id="dice1">
        <img src="images/dice5.png" atl="dice" class="dice" id="dice2">

</div>

解決方法は?

最初にこれを呼び出してNULL値を取得し、後で解決しているものがあるのだと思います。だから、これを試してみてください...

var element = document.querySelector("#current-0")
if (element) {
    element.textContent = dice
}