Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

368
Visualizações
¿Debo usar .innerText o .value en JavaScript?

Hay un problema que he encontrado pero no puedo encontrar una explicación hasta ahora. El código es el siguiente:

 let textbox = document.getElementById("textbox"); let result = document.getElementById("result"); function convertToCm() { value = textbox.value; result.innerText = +value * 2.54; document.body.appendChild(result); }
 <input id="textbox" type="text"> <button onclick="convertToCm()">Convert to cm</button> <div id="result">result</div>

En la segunda línea de la función, traté de usar textbox.innerText en su lugar, sin embargo, esto me da un resultado de 0 de cualquier número que coloque en el cuadro de texto. En la tercera línea, también traté de usar result.value en su lugar, pero luego generaría el mismo número que puse en el cuadro de texto. Estoy realmente confundido.

He intentado buscar en un motor de búsqueda pero no he encontrado una explicación hasta ahora. ¿Qué puedo probar a continuación?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Para obtener o establecer el valor del campo de entrada, debemos usar .value mientras escribe textbox.value que es correcto.

 <input id="textbox" type="text">

Para obtener o establecer el valor de los elementos comunes (podría ser cualquier elemento/etiqueta), usamos .innerText mientras escribe result.innerText que es correcto.

 <div id="result">result</div>

Además, no necesita document.body.appendChild(result); línea en su código.

about 4 years ago · Juan Pablo Isaza Relatório

0

Su cuadro de textbox se refiere a un HTMLInputElement (o <input> ), que es un elemento vacío . Como tal, su .innerText siempre es una cadena vacía.
Convertir una cadena vacía en un número se evaluará como cero.

En su lugar, use .value para leer o escribir en el valor de un control de formulario (los controles de formulario son, por ejemplo, <input> , <select> , <textarea> ).

Para leer o escribir el texto de un elemento no vacío, use .innerText (o preferiblemente .textContent , porque leerlo no provoca un reflujo ). El result de su variable hace referencia a un HTMLDivElement, un elemento no vacío.

En la segunda línea, actualiza result.innerText . Esto se reflejará en el DOM inmediatamente.
Debido a que el result ya existe en el DOM y se actualiza como desea, en realidad no es necesario volver a agregarlo.

Retroalimentación:
Recomiendo mantener la funcionalidad puramente en su <script> (o archivo JS) para la mantenibilidad. El uso de los atributos HTML de onevent está (normalmente) en desuso . En su lugar, use addEventListener() :

  • Permite agregar múltiples detectores de eventos.
  • Permite configurar options para el oyente.
  • Búsqueda más fácil de código muerto.
  • El objeto de evento siempre se pasa como el primer argumento, en lugar de tener que pasarlo manualmente o usar la propiedad obsoleta window.event .
  • No abarrota el HTML.
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda