为什么document.getElementById将输出发送到错误的HTML跨度字段? 我正在尝试编写一个简单的浏览器骰子辊。它在0到9之间生成两个整数,将它们添加到一个数组中,并将它们组合到00至99之间(RollfinalOutput)。 但是当我

问题描述 投票:0回答:1
.

我以前没有这个问题。据我所知,下面的代码应起作用。

有人可以告诉我我在这里做错了吗?谢谢

const FinalResultArray = [0, 0]; var RollFinalOutput; var d100RollResult; var d10RollResult; function DisplayFinalResult() { RollFinalOutput = [FinalResultArray.join("")]; document.getElementById("DiceResult").innerHTML = RollFinalOutput + " DiceResult span"; document.getElementById("Text").innerText = RollFinalOutput + " innerText span"; document.getElementById("HTML").innerHTML = RollFinalOutput + " innerHTML span"; } function TestRoll() { Rolla1d100(0, 9); DisplayFinalResult(); } function Rolla1d100(min, max) { d10RollResult = Math.floor(Math.random() * (max - min)) + min; d100RollResult = Math.floor(Math.random() * (max - min)) + min; FinalResultArray[0] = d100RollResult; FinalResultArray[1] = d10RollResult; } <h2>Dice roll result displayed using innerText:</h2> <h3>Result (span id DiceResult): <span id="DiceResult">??</span></h3> <h3>Result (span id Text): <span id="Text">??</span></h3> <h3>Result (span id HTML): <span id="HTML">??</span></h3> <p>document.getElementById('DiceResult').innerHTML <button onclick="document.getElementById('DiceResult').innerHTML = TestRoll()">Run TestRoll</button></p> <p>document.getElementById('innerText').innerHTML <button onclick="document.getElementById('Text').innerHTML = TestRoll()">Run TestRoll</button></p> <p>document.getElementById('innerHTML').innerHTML <button onclick="document.getElementById('HTML').innerHTML = TestRoll()">Run TestRoll</button></p>

问题是您如何触发
TestRoll()
函数。函数本身不会返回值,所以您:
onclick="document.getElementById('DiceResult').innerHTML = TestRoll()"
为fith
DisplayFinalResult()

html output getelementbyid
1个回答
0
投票
内部设置的值


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.