gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 03:05:44 25 4
gpt4 key购买 nike

当我按下“获取金钱”时,它会添加 [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与它无关,我已经检查了代码很多次,也更改和测试了很多次,但我在这个网站或任何其他网站上都没有找到任何与此相关的内容。我希望获得有关此问题的帮助,因为我不知道发生了什么。

最佳答案

您在 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>

鉴于 Cashtext 函数不可见,您现在可能想知道为什么观察到该值的 [object HTMLDivElement] text 函数中的 Cash 而不是 undefined。原因是因为 DOM 中还有一个具有相同名称 id 的元素,即 Cash,它变成 global property in the document 。通过全局声明 var Cash = 0,这将隐藏对 DOM 元素的 Cash 引用。

关于javascript - 试图让文本表示变量,但它只显示 [object HTMLDivElement],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60626847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com