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