javascript - jqueryイベント実行の問題
ringa_lee
ringa_lee 2017-06-26 10:53:33
0
9
1079
リーリー

なぜ記述方法が異なると結果が異なるのでしょうか? 論理的に言えば、同じ関数が半分しか実行されないわけではありません。

ringa_lee
ringa_lee

ringa_lee

全員に返信(9)
phpcn_u1582

$(function(){
//これは、ページがロードされた後に実行されるコードです
​​})
最初​​の書き方は、ページがロードされる前に実行されるため、DOM は変更されません。色付き

は検出されません。
いいねを押す +0
黄舟

2つ目は.ready()の略称です。詳細についてはドキュメントを確認してください。

いいねを押す +0
漂亮男人

通常、js 参照は <head></head>里面,
第一种写法执行的时候,页面还没加载完,所以找不到$(".table tr:odd") セレクターに配置されます。
2 番目のタイプはページがロードされた後に実行されるため、セレクターの色を変更できます。

2 番目の方法を使用するか、ページの最後に js 参照を追加します。

いいねを押す +0
三叔

最初の書き方では、コード実行時にテーブル要素がページに読み込まれていない可能性があるため、要素が見つからないため色の変化はありません。
2 番目の記述方法は、コードを実行する前にページ要素がロードされるのを待つことです。これにより、ページ上のすべての要素がロードされ、コードが必要な要素を見つけることができるため、対応する変更が行われます。

いいねを押す +0
漂亮男人

リーリー

2 つの呼び出しの違いは、最初に $(".table tr:odd") を呼び出したときは DOM がロードされていないため、対応する要素を取得できなかった可能性があります。印刷して確認できますが、2 回目では確実に取得できています。

その前にJS 代码或引入的 JS 文件放在页面底部,<BODY>を置くことをお勧めします。

いいねを押す +0
phpcn_u1582

1階の回答と同様に、最初の書き方では、.tableタグの前に配置してdomがロードされる前に実行すると、$セレクターがdomを見つけられず、色を指定できない場合があります。かわった。

2 つ目については、jquery ドキュメントの説明を確認することをお勧めします。ここでは jquery 公式 Web サイトを開くことができないため、別の場所から読むことができます
http://www.css88.com/jqapi-1。 ...

いいねを押す +0
代言

1. 最初の書き込み方法は、ドキュメントタグがロードされていないときに実行することです。つまり、HTML がロードされていない場合、その中の .table tr:odd にスタイルを追加すると、js スクリプトはそれがどのオブジェクトであるかを認識しないため、未定義になります。要素の読み込みが完了していません。ただし、関数には構文エラーがないため、alert 0
2.$(function(){}) は引き続き実行されます。つまり、内部のメソッドが実行される前に HTML がロードされるのを待ちます。この時点で、HTML がロードされ、スタイルを設定できるように、このオブジェクトがどの要素であるかがキャプチャされます。
具体的な参照先: http://www.w3school.com.cn/h.asp

いいねを押す +0
小葫芦

この質問は終了します

いいねを押す +0
迷茫

最初の書き方:
tableColor();//alert(0)を実行すると、「0」が表示されますが、domは選択されておらず、コードは1行ずつ実行されます

2番目の書き方: ドキュメントがロードされた後に実行
$(function() {

リーリー

})

結論として、js の導入はドキュメントの最後に配置されており、カスタム関数に加えて、html 内の内部 js はドキュメントの実行後に js コードが確実に実行されるように $(function() {}) で記述されています。実行されました

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート