【发布时间】:2017-04-11 16:41:35
【问题描述】:
我正在尝试使用带有推文按钮的随机报价机来推文报价。 随机报价即将出现。 代码..
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); };它不工作..没有错误..没有控制台日志
标签: javascript jquery