web-dev-qa-db-ja.com

ページが完全に読み込まれた後に何かをする

ページにHTMLを動的に挿入する埋め込みコードを使用しています。動的に挿入されたHTMLを変更する必要があるため、ページがロードされるまでjquery関数を待機させたいのですが、delayを試しましたが、動作するように。

したがって、たとえば、動的に挿入されたHTMlには要素div#abc

私はこのjqueryを持っています:

if ( $('#abc')[0] ) { 
  alert("yes");
}

アラートは表示されません。

助けていただければ幸いです

ありがとう

21
3zzy
$(window).load(function () {
    ....
});

Iframeを待つ必要がある場合(そして、DOMだけでアセットを気にしない場合)-これを試してください:

$(document).ready(function() { 
    $('iframe').load(function() { 
       // do something
    });
});
46
Zoltan Toth

それが jQueryの.ready() イベントの目的です:

$(document).ready(function() {
    if ( $('#abc').length ) //If checking if the element exists, use .length
        alert("yes");
});

説明:DOMが完全にロードされたときに実行する関数を指定します。

10
James Hill

jQuery.ready を使用すれば十分です。これを試して

$(document).ready(function(){
   //your code here
});

または

$(function(){

});

これは最初のショートカットです。

7
Juri

これを試して:

$(document).ready(function () {
    if ( $('#abc')[0] ) { 
      alert("yes");
    }
});
4
DJ Quimby
$(window).load(function () { ... }

十分な場合もありますが、それ以外の場合は、埋め込みコード(可能な限り)を使用して、コールバック機能を使用できます。

delay() は、遅延のためにのみ使用する必要があります animations

1
Stefan

トリガーが呼び出されたときにそこにあるように、dom loadでイベントをバインドするように訴えます。これがあなたのやり方です。これがいつか誰かを助けることを願っています

$(window).bind("load", function() { 
   //enter code here
   $("#dropdow-id").trigger('change');
});`

一般に、ページのロード前またはロード後にJQueryを処理するには、次を使用します。

jQuery(function($){
    // use jQuery code here with $ formatting
    // executes BEFORE page finishes loading
});

jQuery(document).ready(function($){
    // use jQuery code here with $ formatting
    // executes AFTER page finishes loading
});
0
allenski