Tengo una función escrita en JavaScript. La función es correcta, no puedo cambiarla. Necesito escribir código HTML para manejarlo. Desafortunadamente, no entiendo completamente cómo funciona, al iniciar el depurador grita errores:
function A2(params) { if ((params / (10 % 4)) === 132.993) { var m = document.querySelector("Math"); console.log("A2 hip hip hura"); m.innerHTML = "Set Text In Here :"; var arr = [m]; arr.push("Element"); arr.push("Second Element"); m.addEventListener("click", A2(arr)); } } <div id="Math"> <input type="text" value="nothing" /> </div> <input type="submit" value="SEND" onclick="A2(265.986)" /> error:
TypeError: no se pueden establecer propiedades de nulo (configurando 'innerHTML')
necesita usar el querySelector de acuerdo con el selector correcto que es # en ese caso
<html> <head> <script type = "text/javascript"> function A2(params) { if ((params / (10 % 4)) === 132.993) { var m = document.querySelector("#Math"); console.log(m) console.log("A2 hip hip hura"); m.innerHTML = "Set Text In Here :"; var arr = [m]; arr.push("Element"); arr.push("Second Element"); m.addEventListener("click", A2(arr)); } } </script> </head> <body> <div id="Math"> <input type="text" value="nothing" /> </div> <input type="submit" value="SEND" onclick="A2(265.986)"/> </body> </html>Lo que olvidaste es solo el signo # antes de Math . Use var m = document.querySelector("#Math"); en lugar de var m = document.querySelector("Math"); Además, asegúrese de leer estos:
Referencia del selector de CSS
Aquí, un pequeño ejemplo, simplemente ejecute el fragmento de código:
function A2(params) { if ((params / (10 % 4)) === 132.993) { var m = document.querySelector("#Math"); console.log("Responding!"); m.innerHTML = "Button is pressed:"; } } .button { background-color: #04AA6D; border: none; color: white; padding: 20px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; } .button {border-radius: 5px;} <!DOCTYPE html> <html> <head> <style> .button { background-color: #4CAF50; border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; cursor: pointer; } </style> </head> <body> <div id="Math"> <input type="text" value="nothing" /> </div> <input type="submit" class="button" value="SEND" onclick="A2(265.986)"> </body> </html>