0

これは shan です。私は JavaScript 初心者で、ここで例として qa コードを動作させようとしています。小さなjavascriptコンテンツをdiv要素にロードしようとしていますが、うまくいきません.

<html>
<head>
    <title>
    using d for statement
</title>
<script>
    function displaytext () {
     var loopindex=0;
     var sum=0;
     for (var loopindex=1; loopindex <=100; loopindex++) {
       sum +=loopindex;
     }; 
    document.getElementById('targetdiv').innerhtml="adding 1 to 100 gives "+sum;
    }
</script>
</head>
<body>
    <div id="targetdiv">

    </div>
</body>
</html>
4

2 に答える 2

1

関数を呼び出す必要があります。ウィンドウが読み込まれるまで待つこともお勧めします (または、より高度な JS を使用して DOM の準備完了状態を検出することもできます)。

<html>
<head>
    <title>
    using d for statement
</title>
<script>
    function displaytext() {
     var loopindex=0;
     var sum=0;
     for (var loopindex=1; loopindex <=100; loopindex++) {
       sum +=loopindex;
     }; 
    document.getElementById('targetdiv').innerHTML = "adding 1 to 100 gives "+sum;
    }
    window.onload = function(){
      displaytext();
    }
</script>
</head>
<body>
    <div id="targetdiv">

    </div>
</body>
</html>
于 2013-04-09T01:04:34.817 に答える
0

3つの問題:

  1. 実際に関数を呼び出すことはありません。宣言されているだけです。
  2. プロパティは、innerhtml ではなく innerHTML です。Javascript は大文字と小文字を区別します。
  3. スクリプトは要素の上にあり、参照しています。スクリプトは見つかったときに実行されるため (実行中はページの構築が一時停止されます)、参照している要素は決して見つかりません。

また、loopindex 変数を 2 回宣言すると、ES5 strict で構文エラーが発生すると思います。

<html>
    <head>
        <title>
        using d for statement
        </title>
    </head>
    <body>
        <div id="targetdiv">

        </div>
    </body>
    <script>
        function displaytext () {
         var sum=0;
         for (var loopindex=1; loopindex <=100; loopindex++) {
           sum +=loopindex;
         }; 
        document.getElementById('targetdiv').innerHTML="adding 1 to 100 gives "+sum;
        }
        displaytext();
    </script>
</html>
于 2013-04-09T01:11:30.853 に答える