为了账号安全,请及时绑定邮箱和手机立即绑定

试图让文本表示变量,但它只显示 [object HTMLDivElement]

试图让文本表示变量,但它只显示 [object HTMLDivElement]

凤凰求蛊 2023-09-04 16:10:32
当我按下 get Money 时,它会添加 [object HTMLDivElement]1 而不是仅仅 1。这是代码:<script>    function cash(){        var Cash = 0        document.getElementById("Cash").textContent = Cash    }        function text(){            Cash = Cash + Number(1)            document.getElementById("Cash").textContent = Cash        }    </script></head><body onload="cash()">    <div id="Cash"></div>    <button class="button-long" onclick="text()">Get Money</button></body>我不知道发生了什么事,而且我没有找到其他关于如何解决此问题的信息。CSS与它无关,我已经检查了代码很多次,也更改和测试了很多次,但我在这个网站或任何其他网站上都没有找到任何与此相关的内容。我想得到一些帮助,因为我不知道发生了什么。
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

您在函数Cash内部声明了该变量cash,该变量对函数不可见text。要解决此问题,您需要将Cash声明移到函数外部cash,使两个函数都可以看到该声明,如下所示:


<head>  

  <script>

    var Cash = 0


    function cash(){

      document.getElementById("Cash").textContent = Cash

    }


    function text(){

      Cash = Cash + Number(1)

      document.getElementById("Cash").textContent = Cash

    }

  </script>

</head>


<body onload="cash()">

    <div id="Cash"></div>

    <button class="button-long" onclick="text()">Get Money</button>

</body>

鉴于该函数Cash不可见text,您现在可能想知道为什么观察函数内部[object HTMLDivElement]的值而不是。原因是 DOM 中还有一个具有相同名称 id 的元素,即,它成为文档中的全局属性。通过全局声明,这将隐藏对 DOM 元素的 Cash 引用。CashtextundefinedCashvar Cash = 0



查看完整回答
反对 回复 2023-09-04
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信