Estoy tratando de crear una calculadora en línea, usando una tabla, con una etiqueta que tendrá una salida que cambia. La salida es el resultado de cualquier función matemática que se use en la calculadora. Entonces, si alguien ingresa 5 * 5, el th debería mostrar 25. Intenté usar una variable, salida, en javascript, y luego usar document.getElementsByTagName ("th").innerHTML (salida), para cambiarlo, pero eso no funcionó Luego probé el mismo comando sin una variable y, en su lugar, solo inserté directamente una cadena en el HTML interno y todavía no funcionaba. También probé write(), pero tampoco funcionó. ¿Alguna idea sobre lo que puedo probar?
Esta es mi tabla (los id y las clases son solo algunos atributos de estilo en mi archivo css):
<table class="center" style = "width:20%"> <tr> <th colspan="4" id = "final">0</th> </tr> <tr id = "opRow"> <td>+</td> <td>-</td> <td>x</td> <td>/</td> </tr> <tr class = "dataRow"> <td>7</td> <td>8</td> <td>9</td> <td rowspan = "4" id = "eqBut">=</td> </tr> <tr class = "dataRow"> <td>4</td> <td>5</td> <td>6</td> </tr> <tr class = "dataRow"> <td>1</td> <td>2</td> <td>3</td> </tr> <tr class = "dataRow"> <td style = "width:26%" id = "acBut">ac</td> <td>0</td> <td>.</td> </tr> </table>getElementsByTagName() devuelve una matriz, por lo que deberá hacer referencia a ella de esta manera:
document.getElementsByTagName("th")[0]
suponiendo que solo tiene 1 th en su página actual.
plus innerHTML es una propiedad de un elemento y no un método, por lo que tendrá que volver a escribir:
document.getElementsByTagName("th")[0].innerHTML = output
Además, su implementación actual debería arrojar algunos errores en el registro de la consola de su navegador, verifíquelo.
Método / función
getElementsByTagName
está devolviendo una matriz con todas las etiquetas disponibles de su html, entonces solo tiene 1 en su tabla, por lo que el resultado es que la th de su tabla es la primera [0], ahora use la mención del método para seleccionar th etiqueta y seleccione el primer elemento [ 0]
innerHTML: se usa para reescribir datos como sé
y utilícelo para reescribir celda.
Así que usa eso:
document.getElementsByTagName("th")[0].innerHTML = 52;Para verificar si está funcionando, intente esto:
document.addEventListener("DOMContentLoaded", function(){ document.getElementsByTagName("th")[0].innerHTML = 52; });Bueno, espero que entiendas lo que quiero decir. Gracias.