appendChild при загрузке

Итак, вопрос в том, почему это не добавляет div'у при загрузке? Я почесал голову от этого. Нет ошибок... Просто не загружается.

<head>
    <script type="text/javascript">
        function load() {
            var divTag0 = document.createElement("div");
            divTag0.className = "newsBlock";
            divTag0.innerHTML = " Try this..";
            document.getElementById("newsLeft").appendChild(divTag0);

            var divTag1 = document.createElement("div");
            divTag1.className = "newsBlock";
            divTag1.innerHTML = " Blah..";
            document.getElementById("newsRight").appendChild(divTag1);

            var divTag2 = document.createElement("div");
            divTag2.className = "newsBlock";
            divTag2.innerHTML = " And this ..";
            document.getElementById("newsLeft").appendChild(divTag2);    
        }
    </script> 
</head>
<body>
    <p> Something filler </p>
    <div id="newsLeft">  
    </div>
    <div id="newsRight">     
    </div>
    <script type="text/javascript">
        window.onload="load()";
    </script>
</body>

2 ответа

Решение

Если ответ azhrei не работает, единственное, о чем я мог подумать, это то, что вызов onload после его загрузки может не сработать, вы можете изменить это в своем примере, просто вызвав load();

Я проверил это здесь

Надеюсь это поможет

РЕДАКТИРОВАТЬ:

Я считаю, что azhrei имеет на это право, дело не в том, что onload не срабатывает, а в том, что есть синтаксическая проблема с вашим вызовом onload.

Но этот код также может быть улучшен с точки зрения лучшего стиля (более читабельного / более легкого для понимания), удалив второй вызов JS.

В шапке, если вы напишите:

window.onload = function() { 
    //everything inside your load() function goes here
} 

Это работает так же хорошо. Это также удаляет много пуха, который был только отчасти там. Надеюсь, это поможет.

Вы должны предоставить строку для getElementById...

Чтобы:document.getElementById(newsLeft).appendChild(divTag0);

Должно быть:document.getElementById("newsLeft").appendChild(divTag0);

Но главная проблема заключается в следующем:window.onload="load()";

Который должен быть:window.onload=load;

Спасибо jvillars за скрипку, которая помогла мне заметить это.

Другие вопросы по тегам