Добавление чисел в span JavaScript

#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. Заменить = на .