ホームページ  >  に質問  >  本文

javascript - jqueryイベント実行の問題

リーリー

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

ringa_leeringa_lee2672日前1054

全員に返信(9)返信します

  • phpcn_u1582

    phpcn_u15822017-06-26 10:55:33

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

    は検出されません。

    返事
    0
  • 黄舟

    黄舟2017-06-26 10:55:33

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

    返事
    0
  • 漂亮男人

    漂亮男人2017-06-26 10:55:33

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

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

    返事
    0
  • 三叔

    三叔2017-06-26 10:55:33

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

    返事
    0
  • 漂亮男人

    漂亮男人2017-06-26 10:55:33

    リーリー

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

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

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-26 10:55:33

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

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

    返事
    0
  • 代言

    代言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

    返事
    0
  • 高洛峰

    高洛峰2017-06-26 10:55:33

    この質問は終了します

    返事
    0
  • 迷茫

    迷茫2017-06-26 10:55:33

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

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

    リーリー

    })

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

    返事
    0
  • キャンセル返事