为什么我不能让jQuery的live()或load()工作?

时间:2010-04-21 23:43:25

标签: javascript jquery ajax load live

为什么只有第三种方法有效?

$('#jqtest').live('load', function() {$(this).html('hi');}); //1

$('#jqtest').load(function() {$(this).html('hi');}); //2

$(window).load(function() {$('#jqtest').html('hi');}); //3


 <div id="jqtest">kldjfglkj</div>

2 个答案:

答案 0 :(得分:3)

您不能在任意选择器上使用load()功能;您只能在“与URL关联的任何元素:图像,脚本,框架,iframe和窗口对象”(docs)上使用它。 div没有关联的URL,因此前两种技术都不会绑定处理程序。 window确实有一个URL,因此它会调用处理程序。

您可能也对ready()感兴趣。

答案 1 :(得分:0)

如果您在文档或窗口加载时尝试将HTML“hi”添加到元素“#jqtest”,那么几乎就在那里。

$(document).ready(function(){

$("#jqtest").html('hi');

});

这将在加载文档时更改“#jqtest”的值。您还可以在ready()函数中指定其他事件,以便仅在页面完全加载后执行。