首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未捕获的TypeError:无法读取null VSCODE的属性'querySelectorAll‘

未捕获的TypeError:无法读取null VSCODE的属性'querySelectorAll‘
EN

Stack Overflow用户
提问于 2020-09-22 15:01:04
回答 1查看 1.6K关注 0票数 0

我正在使用Visual Studio代码。我正在尝试检查发牌盒是否可以添加和删除样本卡,但结果是这样的错误

代码语言:javascript
复制
script.js:226 Uncaught TypeError: Cannot read property 'querySelectorAll' of null at HTMLButtonElement.blackjackDeal (script.js:226)

以下是详细信息

代码语言:javascript
复制
<div class="container-5">
    <h2 id="change-my-id">Challenge 5: Blackjack</h2>
    <span id="blackjack-result">
        <h3>Let's Play

        </h3 >
    </span>
   
        <div class="flex-blackjack-row-1">
             <div id="your-box">
                    <h2>You: <span id="your-blackjack-result">0</span></h2>
                </div>
        
      
    
             <div class="dealer-box">
                   <h2>Dealer: <span id="dealer-blackjack-result">0</span> </h2>
               </div>
             </div>
        
    

    <div class="flex-blackjack-row-2">
        <div>
            <button class="btn btn-primary btn-lg mr-2" id="blackjack-hit-button">Hit</button>
            <button class="btn btn-warning btn-lg mr-2" id="blackjack-stand-button">Stand</button>
            <button class="btn btn-danger btn-lg mr-2" id="blackjack-deal-button">Deal</button>
        </div>
    </div>

    <div class="flex-blackjack-row-3">
            <table> 
                <tr>
                    <th>Wins</th>
                    <th>Loses</th>
                    <th>Draws</th>
                </tr>
                <tr>
                    <td><span id="wins">0</span></td>
                    <td><span id="loses">0</span></td>
                    <td><span id="draws">0</span></td>
                </tr>


            </table>

        </div>
    
</div>

   

<script src="js/script.js"></script>

JS脚本

代码语言:javascript
复制
let blackjackGame = {
  you: {
    scoreSpan: "#your-blackjack-result",
    div: "#your-box",
    score: 0,
  },
  dealer: {
    scoreSpan: "#dealer-blackjack-result",
    div: "#dealer-box",
    score: 0,
  },
};
function activePlayer() {
  const YOU = blackjackGame["you"];
  const DEALER = blackjackGame["dealer"];
}

const YOU = blackjackGame["you"];
const DEALER = blackjackGame["dealer"];

const hitSound = new Audio("sounds/swish.mp3");

document
  .querySelector("#blackjack-hit-button")
  .addEventListener("click", blackjackHit);

document
  .querySelector("#blackjack-deal-button")
  .addEventListener("click", blackjackDeal);

function blackjackHit() {
  showCard(YOU);
}

function showCard(activePlayer) {
  let cardImage = document.createElement("img");
  cardImage.src = "images/card-b-c3.png";
  document.querySelector(activePlayer["div"]).appendChild(cardImage);
  hitSound.play();
}

function blackjackDeal() {
  let yourImages = document.querySelector("#your-box").querySelectorAll("img");

  let dealerImages = document
    .querySelector("dealer-box")
    .querySelectorAll("img");

  //for Both Players
  //if you to remove all data gathered by both

  //for the player//

  for (i = 0; i < yourImages.length; i++) {
    yourImages[i].remove();
  }
  //for the dealer
  for (i = 0; i < dealerImages.length; i++) {
    dealerImages[i].remove();
  }
}
EN

回答 1

Stack Overflow用户

发布于 2020-09-22 15:07:32

代码语言:javascript
复制
let dealerImages = document
    .querySelector("dealer-box")
    .querySelectorAll("img");

document.querySelector("dealer-box")返回null,因为它没有找到匹配项。从您提供的html判断,您可能打算使用.dealer-box而不是dealer-box (因为.是类的css选择器)。

代码语言:javascript
复制
let dealerImages = document
    .querySelector(".dealer-box")
    .querySelectorAll("img");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64004575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档