У меня есть несколько кнопок 1-9, и я хочу показать их номера на div, называемом «screen». Поэтому я написал такой код, но он не работает.Изменение innerHTML для значения из идентификатора 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" '? – NemanjaT