Подтвердить что ты не робот

JavaScript innerHTML не работает

Вот очень простая программа, и вывод должен быть s и JavaScript, но я получаю только a.

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

Ответ 1

Элемент не существует в момент, когда вы пытаетесь установить значение. Вы должны вызвать это после того, как <h1> был добавлен в DOM.

Вы можете перемещать этот тег <script> дальше или добавить свою логику к функции, которая должна быть вызвана при загрузке документа:

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

Демо: http://jsfiddle.net/Lr2Hm/

Ответ 2

У вас есть 2 варианта:

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

или

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

Ответ 3

Вам нужно дождаться загрузки DOM.

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