Jquery/Javascript如何检查div是否已经加载完成?

5

我在我的网站上添加了一个类似于 Facebook 的按钮,就像这样:

<div class="fb-like" data-href="https://www.facebook.com/xxx"
             data-send="false" data-width="300" 
             data-show-faces="true">
</div>

我想使用jQuery或JavaScript检查页面上的div是否已经完全加载完成,然后执行其他操作。我使用了$(document).ready和.load来检查,但它们都没有起作用(它们在div完成加载之前就执行了函数)。这个问题是否与该div包含来自另一个网站的iframe有关?我在这里做错了什么?
更新:我刚刚尝试了这个方法,但根本没有起作用:
$(document).ready(function() {
    $(".fb-like").load(function (){
         alert("Loaded :)");
    });
});
2个回答

6

我认为问题在于您需要测试iframe是否已加载,而不是div。我建议将您的选择器更改为包括子iframe,并检查此项的加载事件。

$('.fb-like iframe').load(function() {
  console.log('iframe loaded');
});

什么都没发生 :(,你确定你的选择器正确吗? - Max Pain
我真傻,忘记了“.”!现在再试试。 - Undefined
我已经尝试过了,但还是不行。我更新了我的问题,请查看一下。 - Max Pain
@MaxPain 我测试了一下,对我来说似乎可以工作。在你的编辑中没有 iframe,你是否已经添加了它?-> http://tinkerbin.com/2V9CNU7d - Undefined
它确实起作用。但是我也尝试在我的网站上使用相同的代码,但没有起作用 :( - Max Pain

2
$('.fb-like iframe').on(function() {
  console.log('iframe loaded');
 });

2
console.log适用于任何具有控制台的浏览器,包括IE9,Chrome,Firefox(带有Firebug)。可能还有其他浏览器,但不完全确定。 - Undefined
5
你没有将任何事件名称传递给 on 函数,所以这样做不会产生任何作用。 - t.niese

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接