2

重複の可能性:
jquery .bind() および/または .ready() が機能しない

以下の類似プログラム間で o/p に違いがあるのはなぜですか?

<html>
 <head>
 <script src="scripts/jquery-1.6.2.js"></script>
 <script>
   function main()
   {
    $("#inside").text("1234");
   }
   $(document).ready( function(){
       main();   // 1
    });
 </script>
 </head>
 <body>
  <div id="inside">abcd</div>
 </body>
</html>

出力:1234

<html>
 <head>
 <script src="scripts/jquery-1.6.2.js"></script>
 <script>
   function main()
   {
    $("#inside").text("1234");
   }
   $(document).ready( main());//2
 </script>
 </head>
 <body>
   <div id="inside">
    abcd
   </div>
 </body>
</html>

出力 : abcd

ここで innerHTML が変更されないのはなぜですか? この振る舞いを親切に説明してください.. :)

4

2 に答える 2

7

2 番目のバリエーションでは、関数の結果を呼び出しdocument.readyています。関数自体に対して呼び出すには、括弧を省略します。

$(document).ready(main);
于 2012-05-13T04:23:44.203 に答える
0

2 番目のバージョンでは、main()関数をコールバックとして渡すのではなく、すぐに呼び出します。関数自体ではなく、関数$(document).ready()の実際の結果を渡します。main

于 2012-05-13T04:25:21.593 に答える