JQuery .load然后检索数据

时间:2012-11-28 13:43:43

标签: jquery load

我认为这会奏效,但显然我做错了。我需要从很多html文件中获取数据,并认为我会写一个快速的刮刀程序。所有文件都是本地的。代码如下。来自url的html加载到div'crapedHTML'确定。但是当我然后尝试console.log时,那个div的html我什么也得不到,我不知道为什么。任何帮助,将不胜感激。

<body class="home">


    <header class="hd1">

    </header>

    <contentWrapper>
        <div id="scrapedHTML" style="position:absolute; top: 150px; left: 150px; width: 800px; height: 200px; border: 1px solid black; overflow-y:scroll;"></div>

        <div id="displayData" style="position:absolute; top: 400px; left: 150px; width: 800px; height: 500px; border: 1px solid black; ">

        </div>

    </contentWrapper>

    <footer class="f1">

    </footer>


<!-- jQuery version might not be the latest; check jquery.com -->
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script langauge="javascript">

    $(document).ready(function() { 


            var scrapeThisURL = "oc-bloodloss.html";
            $('#scrapedHTML').load(scrapeThisURL);
            var capturedHTML = $("#scrapedHTML").html();
            console.log(capturedHTML);



    });



</script>


</body>
</html>

1 个答案:

答案 0 :(得分:3)

.load方法是异步的。

你应该这样做:

$('#scrapedHTML').load(scrapeThisURL, function() {
    var capturedHTML = $("#scrapedHTML").html();
    console.log(capturedHTML);
});

请注意,代码是专门从div获取html。你可以这样做更好:

$('#scrapedHTML').load(scrapeThisURL, function(response) {
    console.log(response);
})