document.getElementById () no funciona?

No hay mucho que decir,

   var x = document.getElementById('btn1'); alert(x);     

El mensaje de alerta es null lugar de un mensaje que contiene detalles del objeto o algo así.

¿Cuál es el problema?

Coloque su secuencia de comandos DESPUÉS del elemento real; de lo contrario, cuando se ejecute su código de JavaScript, todavía no existe ese elemento en el DOM.

       

Alternativamente, ponga su script en un evento listo para DOM para asegurarse de que el DOM haya cargado completamente antes de intentar manipularlo:

       

Necesita ejecutar el javascript después de leer / renderizar el html …

Pruebe esto en su lugar:

       

O puede agregar una función de carga de ventana para que la secuencia de comandos solo se ejecute después de que la página se haya cargado. Me gusta:

       

Es porque estás tratando de acceder a la información del botón antes de que se haya creado en el dom del documento. Dale al script el final del cuerpo como se muestra a continuación

       

MANIFESTACIÓN

Los códigos Javascript se ejecutan de arriba a abajo. En la alert(x) línea alert(x) , todavía no hay input#btn1 . Puedes usar:

 window.onload = function() { var x = document.getElementById('btn1'); alert(x); } 

Cuando el script se ejecuta primero, no hay ningún elemento con id #btn1 cargado en el dom. Entonces, ejecute el script después de que el elemento esté cargado.

Me gusta esto,

     

  

ponga esta función en el onClientClick de su botón.

 window.addEventListener('DOMContentReady',function(){ var x = document.getElementById('btn1'); alert(x); }; 

El uso del evento ‘DOMContentReady’ es mejor que ‘window.onload’ si es compatible con broswer.