在页面完全加载后执行某些操作

时间:2012-01-27 16:48:41

标签: javascript jquery load

我正在使用一些嵌入代码,动态地将HTML插入到页面中,因为我必须修改动态插入的HTML,我希望jquery函数等到页面加载后,我尝试了delay但是它似乎没有用。

因此,例如,动态插入的HTM1具有元素div#abc

我有这个jquery:

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

警报未显示。

我很感激任何帮助

由于

8 个答案:

答案 0 :(得分:45)

$(window).load(function () {
    ....
});

如果你必须等待iframe(并且不关心资产,只关心DOM) - 试试这个:

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

答案 1 :(得分:10)

这是jQuery's .ready()事件的目的:

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

说明 :指定DOM完全执行时要执行的函数   加载。

答案 2 :(得分:7)

使用jQuery.ready就足够了。试试这个

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

$(function(){

});

这是第一个的快捷方式。

答案 3 :(得分:4)

试试这个:

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

答案 4 :(得分:2)

load()方法在jQuery 1.8版中已弃用,在3.0版中已删除。 因此,您必须使用-

$(window).on('load', function() {
 // code here
});

答案 5 :(得分:1)

$(window).load(function () { ... }

就足够了,但是你的嵌入式代码(可能是什么)可能会提供一些你可以使用的回调功能。

delay()只应用于延迟animations

答案 6 :(得分:0)

通常,要在页面加载之前或之后处理我的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
});

答案 7 :(得分:0)

请确保您将事件与dom负载绑定在一起,以便在调用触发器时它就在那里。 这就是你的做法。希望有一天能对某人有所帮助

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