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

问题描述 投票:21回答:7

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

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

我有这个jquery:

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

警报未显示。

我很感激任何帮助

谢谢

javascript jquery load
7个回答
45
投票
$(window).load(function () {
    ....
});

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

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

10
投票

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

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

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


7
投票

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

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

要么

$(function(){

});

这是第一个的捷径。


4
投票

试试这个:

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

1
投票
$(window).load(function () { ... }

可以,但是你的嵌入代码(无论可能是什么)可能会提供一些你可以使用的回调功能。

delay()应该只用于延迟animations


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
});

0
投票

制定起诉你用dom load绑定事件,所以当触发器被调用时它就在那里。这就是你如何做到的。希望有一天能帮助某人

$(window).bind("load", function() { 
   //enter code here
   $("#dropdow-id").trigger('change');
});`
© www.soinside.com 2019 - 2024. All rights reserved.