Изменение значения с помощью innerHTML в Javascript
Прошло много времени с тех пор, как я работал с Javascript и HTML-кодированием. Я пытаюсь построить базовую систему табло, которая будет добавлять очки к домашним и чужим счетам по мере того, как очки будут заработаны. В настоящее время я работаю над "Домом" и в основном буду копировать "В гостях", когда выбиваю базовое.
Вот мой код:
<script type="text/javascript">
function addTD(){
document.getElementById("score").innerHTML +=6;
}
function addPAT(){document.getElementById("score").innerHTML ++;}
</script>
<div id="score"></div>
<a href="javascript:addTD();">Touchdown</a>
<a href="javascript:addPAT();">PAT</a>
Когда я выбираю ссылку Touchdown, она добавляет 6, а когда я выбираю ссылку PAT, она меняет 6 на 7. Но когда я снова выбираю Touchdown, она добавляет 6 после 7.
76
Touchdown PAT
Как я могу изменить 7 на 13, когда снова выберу Touchdown?
Заранее спасибо за помощь. Brandon
3 ответа
Изменить на
function addTD(){
document.getElementById("score").innerHTML=
parseInt(document.getElementById("score").innerHTML,10)+6;
}
innerHTML
это строка, а не целое число.
Чтобы увеличить текущее значение, вы можете использовать parseInt
:
function addPAT(){
var scoreEl = document.getElementById("score");
scoreEl.innerHTML = parseInt(scoreEl.innerHTML, 10) + 1;
}
Редактировать: как заметил Блендер, вы должны также указать, что строка является числом 10 (второй аргумент parseInt
функция). В противном случае цифры, такие как 012
можно интерпретировать как восьмеричное число.
Ссылка на MDN: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseInt
Ты захочешь использовать parseInt
на нем, чтобы Javascript знал, что вы говорите о целом числе, а не только о тексте.