#javascript #html #events #parseint
#javascript #HTML #Мероприятия #синтаксический анализ
Вопрос:
У меня на странице есть кнопка со счетчиком кликов в виде span (с классом .counter
). После нажатия кнопки к счетчику следует добавить 1 (на странице, а не в консоли). Как я могу добавить 1 к строке в span, которая в настоящее время innerHTML
равна 0? Я пробовал использовать приведенный ниже код, но, к сожалению, он не работает. Когда я попробовал без parseInt
, цифры были добавлены к span, поэтому я получил, например, 011 вместо 2.
document.addEventListener("DOMContentLoaded", function () {
var counters = document.querySelectorAll(".counter");
var btn1 = document.getElementById("button1");
function btn1Count (event) {
parseInt(counters[0].innerHTML,10) = 1;
}
btn1.addEventListener("click", btn1Count);
});
Комментарии:
1. Показать соответствующие HTML-элементы
Ответ №1:
Используйте parseInt
, но как :
counters[0].innerHTML = parseInt(counters[0].innerHTML,10) 1;
ПРИМЕЧАНИЕ : Вместо этого было бы лучше использовать textContent
, если бы вы просто добавляли текст (без html) :
counters[0].textContent = parseInt(counters[0].textContent,10) 1;
Надеюсь, это поможет.
var btn1 = document.getElementById("button1");
var counters = document.querySelectorAll(".counter");
btn1.addEventListener("click", btn1Count);
function btn1Count (event) {
counters[0].textContent = parseInt(counters[0].textContent) 1;
}
<button id="button1">Button 1</button>
<br>
<span class='counter'>0</span>
Ответ №2:
Просто измените
counters[0].innerHTML = parseInt(counters[0].innerHTML,10) 1;
вы просто не задали span
содержимое
Комментарии:
1. Заменить
=
на.