なぜ記述方法が異なると結果が異なるのでしょうか? 論理的に言えば、同じ関数が半分しか実行されないわけではありません。
phpcn_u15822017-06-26 10:55:33
$(function(){
//これは、ページがロードされた後に実行されるコードです
})
最初の書き方は、ページがロードされる前に実行されるため、DOM は変更されません。色付き
漂亮男人2017-06-26 10:55:33
通常、js 参照は <head></head>
里面,
第一种写法执行的时候,页面还没加载完,所以找不到$(".table tr:odd")
セレクターに配置されます。
2 番目のタイプはページがロードされた後に実行されるため、セレクターの色を変更できます。
2 番目の方法を使用するか、ページの最後に js 参照を追加します。
三叔2017-06-26 10:55:33
最初の書き方では、コード実行時にテーブル要素がページに読み込まれていない可能性があるため、要素が見つからないため色の変化はありません。
2 番目の記述方法は、コードを実行する前にページ要素がロードされるのを待つことです。これにより、ページ上のすべての要素がロードされ、コードが必要な要素を見つけることができるため、対応する変更が行われます。
漂亮男人2017-06-26 10:55:33
リーリー
2 つの呼び出しの違いは、最初に $(".table tr:odd")
を呼び出したときは DOM がロードされていないため、対応する要素を取得できなかった可能性があります。印刷して確認できますが、2 回目では確実に取得できています。
その前にJS
代码或引入的 JS
文件放在页面底部,<BODY>
を置くことをお勧めします。
phpcn_u15822017-06-26 10:55:33
1階の回答と同様に、最初の書き方では、.tableタグの前に配置してdomがロードされる前に実行すると、$セレクターがdomを見つけられず、色を指定できない場合があります。かわった。
2 つ目については、jquery ドキュメントの説明を確認することをお勧めします。ここでは jquery 公式 Web サイトを開くことができないため、別の場所から読むことができます
http://www.css88.com/jqapi-1。 ...
代言2017-06-26 10:55:33
1. 最初の書き込み方法は、ドキュメントタグがロードされていないときに実行することです。つまり、HTML がロードされていない場合、その中の .table tr:odd にスタイルを追加すると、js スクリプトはそれがどのオブジェクトであるかを認識しないため、未定義になります。要素の読み込みが完了していません。ただし、関数には構文エラーがないため、alert 0
2.$(function(){}) は引き続き実行されます。つまり、内部のメソッドが実行される前に HTML がロードされるのを待ちます。この時点で、HTML がロードされ、スタイルを設定できるように、このオブジェクトがどの要素であるかがキャプチャされます。
具体的な参照先: http://www.w3school.com.cn/h.asp
迷茫2017-06-26 10:55:33
最初の書き方:
tableColor();//alert(0)を実行すると、「0」が表示されますが、domは選択されておらず、コードは1行ずつ実行されます
2番目の書き方: ドキュメントがロードされた後に実行
$(function() {
})
結論として、js の導入はドキュメントの最後に配置されており、カスタム関数に加えて、html 内の内部 js はドキュメントの実行後に js コードが確実に実行されるように $(function() {}) で記述されています。実行されました