Estoy tratando de hacer un programa que cada vez que hago clic en un botón se agregan números a un elemento html. Estoy tratando de hacerlo usando textContent como el código a continuación, pero cada vez que el elemento "obtiene" el número, en lugar de hacer el cálculo y mostrar la suma, solo agrega el número como Me gusta, en lugar de hacer eso:
puntuación: 2+4 >> puntuación: 6
puntuación: 6+1 >> puntuación: 7
está haciendo eso: puntuación: 241
este es el codigo:
HTML:
<div id="player1score"> <h2>score: <span id="sumscore1">0</span></h2> <p id="player1dice">-</p> </div>JS:
function render() { let randomNumber = random() sumscore1.textContent+= randomNumber }¿Quizás textContent no puede obtener números y atribuir los números como cadena?
textContent devuelve una cadena (o null , en algunos casos). El uso del operador de asignación de suma += da como resultado una operación de concatenación si uno de los operandos es una cadena.
Primero debe convertirlo en un número entero u otro Number para realizar operaciones aritméticas en él:
function render() { let randomNumber = random() sumscore1.textContent = parseInt(sumscore1.textContent || 0) + randomNumber }