我试图使用tweet按钮随机引用机器来鸣叫报价。 随机报价即将上涨。 代码..在完全加载页面后获取innerHTML
var forismaticAPI = 'http://api.forismatic.com/api/1.0/?method=getQuote&format=jsonp&lang=en&jsonp=?';
$(document).ready(function() {
var template = function(data) {
$('#quotearea').empty();
$('#quotearea').append('<blockquote id="quote">' + data.quoteText + '</blockquote>' + '<p id="author"> — ' + data.quoteAuthor + '</p>');
$('#quotearea').show();
};
var dataAppend = function() {
$.getJSON(forismaticAPI, template);
};
}
我的下一个任务是获取报价内容进行啾啾。所以一旦窗口加载完成,我想获得包含引号的#quote
的innerHTML。所以我写这样一个在window.onload功能..
window.onload = function(){
var quote = document.getElementById('quote');
console.log(quote.innerHTML);
}
但我发现了一个错误Uncaught TypeError: Cannot read property 'innerHTML' of null(…)
..因为在加载报价延迟小,窗口加载函数返回一个空。只有当内容被加载并准备好时,如何才能获得div的innerHTML?
你能否将innerHTML代码放在$ .getJSON中的成功函数内? –
@BlueBoy 喜欢这个? var loadfn = function(){ var quote = document.getElementById('quote'); console.log(quote.innerHTML); }; var dataAppend = function(){ $ .getJSON(forismaticAPI,template,loadfn); };' 它不工作..没有错误..没有控制台日志 –