【发布时间】:2015-10-31 10:54:07
【问题描述】:
我有一些按钮 1-9,我想在称为“屏幕”的 div 上显示它们的数字。所以我写了这样的代码,但它似乎不起作用。
带有这些按钮的 HTML 代码:
<div id="screen"></div>
<div><input type="submit" class="numKey" id="key7" value="7" onclick="enterPIN();"></div>
<div><input type="submit" class="numKey" id="key8" value="8" onclick="enterPIN();"></div>
<div><input type="submit" class="numKey" id="key9" value="9" onclick="enterPIN();"></div>
<div style="clear: both;"></div>
<div><input type="submit" class="numKey" id="key4" value="4" onclick="enterPIN();"></div>
<div><input type="submit" class="numKey" id="key5" value="5" onclick="enterPIN();"></div>
(... AND SO ON ...)
JavaScript 代码:
function enterPIN()
{
for (i=0; i<document.getElementsByClassName("numKey").length; i++)
{
var numKeyId = i + " " + document.getElementsByClassName("numKey")[i].id;
console.log(numKeyId);
return numKeyId;
}
var getElementId = function(numKeyId)
{
this.numKeyId = numKeyId;
document.getElementById("screen").innerHTML = document.getElementsByClassName("numKey")[numKeyId].id;
console.log("Asdasdasd");
}
getElementId();
}
它应该像这样工作:
【问题讨论】:
-
您是否有理由不只是传递要直接显示的值,如
onclick="enterPIN(4);? -
只是我还是你弄错了 numKeyId?可能只有我一个人,已经很晚了,我刚刚完成了我的工作。编辑:是的,我想这只是我,对不起。 EDIT2:如果您不想像丹尼尔建议的那样输入
enterPIN(4);,为什么不更多地依赖this?只需获取一个值并输入element.innerHTML += "4"?
标签: javascript html innerhtml getelementbyid getelementsbyclassname