为什么只有第三种方法有效?
$('#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>
答案 0 :(得分:3)
您不能在任意选择器上使用load()
功能;您只能在“与URL关联的任何元素:图像,脚本,框架,iframe和窗口对象”(docs)上使用它。 div
没有关联的URL,因此前两种技术都不会绑定处理程序。 window
确实有一个URL,因此它会调用处理程序。
您可能也对ready()感兴趣。
答案 1 :(得分:0)
如果您在文档或窗口加载时尝试将HTML“hi”添加到元素“#jqtest”,那么几乎就在那里。
$(document).ready(function(){
$("#jqtest").html('hi');
});
这将在加载文档时更改“#jqtest”的值。您还可以在ready()函数中指定其他事件,以便仅在页面完全加载后执行。