Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

169
Vistas
¿Cómo se convierten los valores de cm a pulgadas y se reemplaza el texto "cm" por "in"? JavaScript

Estoy tratando de recrear una tabla de medidas de prendas que he visto, pero en Javascript puro. Tengo problemas para averiguar cómo tomar el valor numérico en innerhtml y multiplicarlo/dividirlo por * 2.54. Además, me gustaría agregar "cm" o "in" al final del número para indicar el sistema de medida.

https://jsfiddle.net/kud8sj7w/5/

 <div id="xs-sizes"> <li class="measurement" style="left: 15%; top: 33%;"> 63.5 </li><li class="measurement" style="left: 48%; top: 16%;"> 43.5 </li><li class="measurement" style="left: 48%; top: 79%;"> 50.5 </li><li class="measurement" style="left: 48%; top: 50%;"> 43 </li><li class="measurement" style="left: 83%; top: 62%;"> 64.5 </li>
 function convert() { var measurements = document.getElementsByClassName("measurement"); for(var i = 0; i < measurements.length; i++){ measurements[i].innerHTML = valNum * 2.54; } }
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Debe almacenar el estado actual para saber si necesita convertir o no. En su caso, inicialmente 'CM'

 let cur_measurement = 'CM'; function convert() { let measurements = document.getElementsByClassName("measurement"); let CM = document.querySelector('input[value="CM"]'); let IN = document.querySelector('input[value="IN"]'); let ratio = 0; if(CM.checked && cur_measurement != 'CM'){ ratio = 2.54; cur_measurement = 'CM'; } else if (IN.checked && cur_measurement != 'IN' ){ ratio = 1/2.54; cur_measurement = 'IN'; } for (var i = 0; i < measurements.length; i++) { let cur_val = parseFloat(measurements[i].innerText); measurements[i].innerText = Math.round(cur_val * ratio * 10) / 10; } }
over 4 years ago · Santiago Trujillo Denunciar

0

Entonces, para measurements[i].innerHTML = valNum * 2.54; , valNum no está definido. Mire convert() no hay parámetros. Cuando se llama, se multiplica por valNum que no está undefined .

Piense en a qué debería equivaler valNum o en qué debería estar operando 2.54 . Espero que eso ayude. También para encadenar el cm/unit , puede simplemente concatenar pero obtener el resultado primero.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda