我认为这会奏效,但显然我做错了。我需要从很多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>
答案 0 :(得分:3)
.load
方法是异步的。
你应该这样做:
$('#scrapedHTML').load(scrapeThisURL, function() {
var capturedHTML = $("#scrapedHTML").html();
console.log(capturedHTML);
});
请注意,代码是专门从div获取html。你可以这样做更好:
$('#scrapedHTML').load(scrapeThisURL, function(response) {
console.log(response);
})