1

これでうまくいくと思いましたが、明らかに私は何か間違ったことをしています。たくさんのhtmlファイルからデータを取得する必要があり、簡単なスクレーパープログラムを作成することにしました。すべてのファイルはローカルです。コードは以下のとおりです。URLからのhtmlがdiv'scrapedHTML'にロードされます。しかし、そのdivのhtmlをconsole.logにしようとすると、何も得られず、理由がわかりません。どんな助けでもいただければ幸いです。

<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>
4

1 に答える 1

3

.loadメソッドは非同期です。

代わりにこれを行う必要があります。

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

コードは、divからhtmlを具体的に取得するためのものであることに注意してください。あなたはより良いこれを行うことができます:

$('#scrapedHTML').load(scrapeThisURL, function(response) {
    console.log(response);
})
于 2012-11-28T13:47:20.473 に答える