Javascript 为什么load()事件未检测到div加载?

Javascript 为什么load()事件未检测到div加载?,javascript,jquery,asp.net-mvc,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 4,根据jquery规范,load()是在页面加载中调用的最后一个函数。但是,当我有几个内部部分页面时,如果我将放在内部部分中的一个中,就会执行加载(),但如果我添加一个条件,则会检查div是否已加载 if ($('#div1').length > 0 ){ } 这将变成错误,为什么会发生这种情况以及如何修复 我在主要部分中检查div1 $(window).on('load', function() { $('#div1').append('<p>this is eg&l

根据jquery规范,
load()
是在页面加载中调用的最后一个函数。但是,当我有几个内部部分页面时,如果我将
放在内部部分中的一个中,就会执行
加载()
,但如果我添加一个条件,则会检查
div
是否已加载

if ($('#div1').length > 0 ){ }
这将变成
错误
,为什么会发生这种情况以及如何修复

我在主要部分中检查div1

$(window).on('load', function() {
    $('#div1').append('<p>this is eg</p>');
    if ($('#div1').length == 0) {
        alert('loaded');
    }
});
$(窗口).on('load',function()){
$(“#div1”).append(“这是eg

”); 如果($('#div1')。长度==0){ 警报(“已加载”); } });

上面的代码显示了警报,因为没有div,但当我检查chrome中的元素时,它显示了一个空div

我假设您正在尝试在页面加载后获取#div1控件

$(document).ready(function() {
     $('#div1').append('<p>this is eg</p>');
     if ($('#div1').length == 0) {
          alert('loaded');
     }
});
$(文档).ready(函数(){
$(“#div1”).append(“这是eg

”); 如果($('#div1')。长度==0){ 警报(“已加载”); } });
if(('#div1').length>0){}
jQuery.load()
.ajax()
函数的简写形式。它与加载页面的时间无关。假设您的意思是
$(document).ready()
?@StephenMuecke如果是这种情况,那么我如何检查是否加载了#div1?我只需要注意
('#div1')。长度>0
将始终是
真的
,因为您得到的是字符串的长度
'#div'
。大概你的真实代码有一个
$
,例如
$('div1')。长度>0
如果($('div1).长度>0){//do something}
是的,但是在元素(chrome)中它显示了,但没有显示我的警报或附加文本$(窗口)。在('load',function(){alert('fired');$('div1')。append('p>这是eg

);如果($('#Div1').length>0){alert('loaded');}else alert('not done');});上述代码按预期工作