为什么我不能查询我刚刚通过append()添加的元素?

Bry*_*end 1 javascript jquery

为什么我不能查询我刚刚通过append()添加的元素?

$('body').append('<div id="testing"></div>');
if($("#testing").length == 0)
    alert("WTF!  Testing div should be there!");
Run Code Online (Sandbox Code Playgroud)

是否有某种布局在JS完成运行之前不会发生?

我怎么能绕过这个?有没有其他方法我可以调用创建dom元素立即使用?

Per*_*Tew 5

我会看看这个代码的执行位置.这是用jQuery(document).ready()函数块运行的吗?我看不到你的完整代码.

当我碰到这样的东西时,通常是因为我的代码在dom准备好之前正在执行.请试试这个:

jQuery(document).ready(function(){
    $('body').append('<div id="testing"></div>');
    if($("#testing").length == 0){
        alert("WTF!  Testing div should be there!");
    }
});
Run Code Online (Sandbox Code Playgroud)