未捕獲的引用錯誤:cnt 未定義
P粉696891871
P粉696891871 2024-02-03 21:58:31
0
2
381

我想點擊按鈕並計算數量,但它不起作用。 和錯誤訊息:Uncaught ReferenceError:cnt 未定義 這是我的程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Make777</title>
  <link rel="stylesheet" href="./style.css">
</head>
<body>
  <button type="button" class="btn-click" onclick="dongjak_button();">CLICK</button>
  <span>You Clicked This Button <span id="number"></span>Times!!!!!!</span>

  <script src="./script.js"></script>
</body>
</html>
"use strict";

function dongjak_button(){
    cnt = 0;
    cnt++;
    document.getElementById("number").value = cnt;
}

幫助。我希望 cnt 變數有效。並顯示在html上

P粉696891871
P粉696891871

全部回覆(2)
P粉587780103

您必須使用 varlet 來宣告 JavaScript 變數。

在此處了解更多:https://www.w3schools.com/js/js_variables.asp

#
"use strict";

function dongjak_button(){
    let cnt = 0;
    cnt++;
    document.getElementById("number").textContent = cnt;
}

程式碼仍然無法運作,因為您需要先從 #number 取得計數。

"use strict";

function dongjak_button(){
    const number = document.getElementById("number");
    const value = number.textContent;
    
    let cnt = value ? Number(value) : 0;
    cnt++;
    number.textContent = cnt;
}
P粉635509719

您處於嚴格模式,且沒有宣告 cnt 變數。請參閱 MDN 文件

您也無法變更 span 上的 value — 您需要 textContent。而且,您的 cnt 每次都會重置,因此您需要將變數儲存在函數之外。總而言之:

// stored outside the function so it increments rather than resets
let cnt = 0;
function dongjak_button(){
    cnt++;
    // use textContent, not value; also add a space
    document.getElementById("number").textContent = cnt + ' ';
}

You Clicked This Button Times!!!!!!
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板