Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:在文档就绪中找不到元素_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript jQuery:在文档就绪中找不到元素

Javascript jQuery:在文档就绪中找不到元素,javascript,jquery,ajax,Javascript,Jquery,Ajax,我遇到了一个奇怪的Javascript行为: index.html 我知道ajax调用是一个异步请求,但我看不出在什么时候这会成为一个问题。我知道我可以在成功回调中完成我的doStuff,但这不是我的情况。有什么想法吗?美元.ajax调用的结果是一个延迟对象,因此您可以利用其方法来检测何时完成: var downloadWaiting; function goDownload() { downloadWaiting = $.ajax({ url: "hello.html

我遇到了一个奇怪的Javascript行为:

index.html

我知道ajax调用是一个异步请求,但我看不出在什么时候这会成为一个问题。我知道我可以在成功回调中完成我的doStuff,但这不是我的情况。有什么想法吗?

美元.ajax调用的结果是一个延迟对象,因此您可以利用其方法来检测何时完成:

var downloadWaiting;

function goDownload() {
    downloadWaiting = $.ajax({
        url: "hello.html",
        cache: false,
        success: function (response) {
            $("#content").append(response);
        }
    });
}

function doStuff() {
    downloadWaiting.done(function () {
        $("#myId").html("Hello from doStuff()");
    });
}

什么是奇怪的行为?有什么具体的原因不能从您的成功回调中调用doStuff吗?哦,我不知道-谢谢!
<div id="myId">
</div>

<script type="text/javascript">
    $(function() {
        doStuff();
    });
</script>
function goDownload() {
    $.ajax({
        url: "hello.html",
        cache: false,
        success: function (response) {
            $("#content").append(response);
        }
    });        
}

function doStuff() {
    //If I wait a little bit (e.g alert/timer), the below works
    //otherwise it does not

    $("#myId").html("Hello from doStuff()");
}
var downloadWaiting;

function goDownload() {
    downloadWaiting = $.ajax({
        url: "hello.html",
        cache: false,
        success: function (response) {
            $("#content").append(response);
        }
    });
}

function doStuff() {
    downloadWaiting.done(function () {
        $("#myId").html("Hello from doStuff()");
    });
}