Probé este código y cuando lo ejecuté por primera vez, hice clic en Inicio y obtuve el resultado "1 es más pequeño que 2", lo cual es correcto, pero después de cambiar la primera entrada a 10 y hacer clic en Inicio nuevamente, todavía mostraba "10 es más pequeño de 2". ¿Estoy haciendo algo mal aquí?
<textarea type="number" id="one">1</textarea> <textarea type="number" id="two">2</textarea> <a href="#" onclick="start()">Start</a> <p id="demo"></p> <script> function start() { var numberOne = document.getElementById('one').value; var numberTwo = document.getElementById('two').value; if(numberOne>=numberTwo) { document.getElementById('demo').innerHTML = numberOne + ' is bigger than ' + numberTwo; } else { document.getElementById('demo').innerHTML = numberOne + ' is smaller than ' + numberTwo; } } </script>
Estás comparando cadenas, no números.
use parseInt o parseFloat para convertirlo en un número.
var numberOne = parseFloat(document.getElementById('one').value);
Sí, se espera, la entrada en DOM siempre es una cadena, incluso si el tipo es un número.
analizarlos en número primero antes de comparar.
const intOne = parseInt(numberOne, 10); const intTwo = parseInt(numberTwo, 10); // compare them if (intOne >= intTwo) { // do your thing }
Editar: Código de actualización por sugerencia de @Sebastian Simon