Сделайте что-нибудь ПОСЛЕ полной загрузки страницы - PullRequest
21 голосов
/ 27 января 2012

Я использую некоторые встраиваемые коды, которые динамически вставляют HTML на страницу, и, поскольку мне нужно изменить этот динамически вставленный HTML, я хочу, чтобы функция jquery ожидала загрузки страницы, я попробовал delay, но это не похоже на работу.

Так, например, динамически вставленный HTMl имеет элемент div#abc

и у меня есть этот jquery:

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

предупреждение не отображается.

Буду признателен за любую помощь

Спасибо

Ответы [ 7 ]

45 голосов
/ 27 января 2012
$(window).load(function () {
    ....
});

Если вам нужно подождать iframe (и вам не нужны ресурсы, только DOM) - попробуйте это:

$(document).ready(function() { 
    $('iframe').load(function() { 
       // do something
    });
});
10 голосов
/ 27 января 2012

Для этого jQuery's .ready() событие:

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

Описание : укажите функцию длявыполняется, когда DOM полностью загружен.

7 голосов
/ 27 января 2012

Использование jQuery.ready должно быть достаточно.Попробуйте это

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

или

$(function(){

});

, что является ярлыком первого.

4 голосов
/ 27 января 2012

Попробуйте это:

$(document).ready(function () {
    if ( $('#abc')[0] ) { 
      alert("yes");
    }
});
1 голос
/ 27 января 2012
$(window).load(function () { ... }

может быть достаточно, но в противном случае ваш встроенный код (что бы это ни было) может обеспечить некоторые функции обратного вызова, которые вы можете использовать.

delay () следует использовать только для задержки анимаций .

0 голосов
/ 19 апреля 2019

Заставьте sue связать событие с нагрузкой dom, чтобы оно было там при вызове триггера. Вот как ты это делаешь. Надеюсь, это когда-нибудь кому-нибудь поможет

$(window).bind("load", function() { 
   //enter code here
   $("#dropdow-id").trigger('change');
});`
0 голосов
/ 02 января 2019

Обычно для обработки моего 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
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...