2013-05-25 10 views
6

jQueryを使用すると$(document).load(function(){});を使うことができるので、関数全体にページを読み込んだ後に実行するコードは実行されますが、あなたはjQueryを使用せず、単にJSを使用するのですか?例えば jQueryを使わずにページをロードするときにJSを実行する

...

<html> 
    <head> 
     <script type="text/javascript"> 
      var box = document.getElementById('box'); 
      alert(box); 
     </script> 
    </head> 
    <body> 
     <div id="box" style="width:200px; height:200px; background-color:#999; 
margin:20px;"></div> 
    </body> 
</html> 

は、私はこの方法を使用する場合、アラートはちょうどnullを言います。では、ページがロードされたらjsコードを実行する方法はありますか?

+0

実際に、jQueryを使用している場合、** $(document).load(function(){...});を使用しないでください。 – adeneo

+0

この質問には、[http: /stackoverflow.com/questions/799981...](http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery) – Tifa

答えて

13

は、私が使用します。

<script type="text/javascript"> 
    window.onload = function(){ 
     //do stuff here 
    }; 
</script> 

この方法では、あなたのHTML内の任意のonloadタグを使用する必要はありません。

+0

私はあなたのように、1つの答えが私をさせるときに来る。 – user1563944

8

最も簡単な方法は、単純に終了bodyタグの前に、通常、文書の最後にスクリプトを置くことです:

<html> 
<head> 

</head> 
<body> 
<div id="box" style="width:200px; height:200px; background-color:#999; margin:20px;"></div> 
<script type="text/javascript"> 
    var box = document.getElementById('box'); 
    alert(box); 
</script> 
</body> 

</html> 
+0

これでjsタグを取得するjsタグを取得するヘッドタグ内ではなく、ボディセクション内に入るのですか? – user1563944

+0

@ user1563944 - より具体的には、アクセスしようとしている要素の後ろにjavascriptがなければなりません。そうしないと、javascriptが実行されても要素は存在しません。 – adeneo

2

あなたのbodyタグにonloadイベントを使用することができます。

<head> 
    <script type="text/javascript"> 
     function doSomething() { 
     //your code here 
     } 
    </script> 
</head> 
<body onload="doSomething()"> 
+0

なぜダウン票ですか? – Robbert

4

これを達成するためにさまざまな方法を使用できます。

最も簡単な、最も簡単な方法は、単にあなたのbodyタグの終わりにスクリプトタグを追加するには、次のようになります。

<html> 
<head> 
    <title> Example </title> 
</head> 
<body> 
    <div> 
     <p>Hello</p> 
    </div> 
    <script type="text/javascript"> 
     // Do stuff here 
    </script> 
</body> 
</html> 

jQueryのそれはのようなものであるない方法:I

window.onload = function() { 
    // Do stuff here 
} 

ちょうど2番目の方法で行うのが普通です。

ブラウザ間の互換性を保証するには、jQueryのソースをクロールし、使用するものを探します。

関連する問題