2

問題は、ロード時に 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>
4

2 に答える 2

4

getElementByIdに文字列を提供することになっています...

となることによって: document.getElementById(newsLeft).appendChild(divTag0);

次のようにする必要があります。 document.getElementById("newsLeft").appendChild(divTag0);

しかし、主な問題は次のとおりです。 window.onload="load()";

次のようになります。 window.onload=load;

これに気付くのを助けてくれたフィドルのjvillarsに感謝します。

于 2012-07-13T00:54:19.477 に答える
1

azhrei の答えがうまくいかない場合、私が考えることができる唯一のことは、ロード後に onload を呼び出してもトリガーされない可能性があるということです。load(); を呼び出すだけで、例からこれを変更できます。

ここでテストしました

お役に立てれば

編集:

私は azhrei がその権利を持っていると信じています。onload がトリガーされないということではなく、onload 呼び出しに構文上の問題があるということです。

ただし、このコードは、2 番目の JS 呼び出しを削除することで、より良いスタイル (より読みやすく/理解しやすく) の点で改善することもできます。

ヘッダーに次のように記述します。

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

それも同様に機能します。また、そこにあった綿毛の多くを取り除きます。それが役立つことを願っています。

于 2012-07-13T01:19:32.950 に答える