2012-11-28 32 views
1

我認爲這會工作,但顯然我做錯了什麼。我需要從很多html文件中獲取數據,並且認爲我會寫一個快速掃描程序。所有的文件都是本地的。代碼如下。來自url的html加載到div'scrapedHTML'中。但是,當我然後嘗試console.log該div的html我什麼也得不到,我不知道爲什麼。任何幫助,將不勝感激。JQuery .load然後檢索數據

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

回答

3

.load方法是異步的。

你應該這樣做,而不是:

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

注意,代碼是專門獲得股利的HTML。你可以做到這一點會更好:

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

謝謝迭戈,我把你的代碼,並添加了這個:var scrapeThisURL =「oc-bloodloss.html」; \t \t \t var capturedCode; \t \t \t $( '#scrapedHTML')負載(scrapeThisURL,功能(響應){ \t \t \t \t readCode(響應); \t \t \t})。 \t \t \t \t \t \t \t \t \t功能readCode(代碼){ \t \t \t \t的console.log(代碼); \t \t \t}工作正常! – PruitIgoe

+0

是的,該代碼應該工作得很好! – Diego

+0

現在是一個惱人的一天刮。 :D感謝您的幫助。 – PruitIgoe