2012-05-31 29 views
15

Aquí hay un programa muy simple y la salida debería ser s y JavaScript, pero solo obtengo a.JavaScript innerHTML no funciona

<html> 
    <head> 
     <title></title> 
     <script type="text/javascript"> 
      document.getElementById("ma").innerHTML="JavaScript"; 
     </script> 
    </head> 
    <body> 
     <h1 id="ma">s</h1> 
    </body> 
</html> 

Respuesta

21

El elemento no existe en el momento en que intenta establecer un valor. Debe llamar a esto después de que se haya agregado el <h1> al DOM.

Puede mover esta etiqueta <script> aún más, o añadir su lógica a una función que debe ser llamado cuando el documento se ha cargado:

window.onload = function() { 
    /* Add your logic here */ 
} 

Demostración: http://jsfiddle.net/Lr2Hm/

+1

trabajó como un encanto para mí. Gracias. –

9

Tienes que espera hasta que el DOM se haya cargado.

window.onload = function(){ 
    document.getElementById("ma").innerHTML="JavaScript"; 
} 
11

Tienes 2 opciones:

window.onload = function() { 
    //your script here 
} 

o

<body> 
    <h1 id="ma">s</h1> 
    <script type='text/javascript'> 
     //your script here 
    </script> 
</body> 
Cuestiones relacionadas