我花了最后4个小时试图在我的tumblr博客上为“今日报价”显示编写脚本。我是javascript的初学者。所以,请你帮我解决一下javascript并告诉我需要改变什么才能使它工作?另外,我如何能够将脚本生成的文本格式化为?:
<script type="text/javascript">
var now = new Date();
var todayAtMidn = new Date(now.getFullYear(), now.getMonth(), now.getDate());
var quoteTag = getElementsByTagName("div")
for (var i = 3; i < quoteTag.length; i++)`
var quoteDate = document.getElementsByTagName("div");
for (var i = 3; i < quoteDate.length; i++) {
if ((quoteDate[i].getAttribute("class") == "date") && (quoteTag[i].getAttribute("class") == "tag")) {
if ((todayAtMidn.getTime() == quoteDate.getTime()) && (quoteTag == 'QOT')) {
document.write("Quote Of the Day:{Quote}")
} else {
document.write('Thank God, its a new day!');
}
} else {
document.write('Thank God, its a new day!')
}
}
</script>
我试图做的是,从我的一个正常报价帖子中获取内容/文本,前提是报价帖子的标签为“QOT”并在当前日期发布(今天也是如此)。然后,文本/内容将在网站的特殊部分显示为“当天的报价”。
继承我的网站:teamnigeria.tumblr.com
答案 0 :(得分:0)
好吧,让我们从:
开始最初
(function () {
var post=null;
循环显示当前页面上的帖子:
var posts=getPosts();
var midnight_today=getMidnight();
for(var i=0, l=posts.length; i<l; i++) {
当我们找到标记为QOT
且今天发布的第一篇帖子时停止
var post_time = getPostTime(post[i]);
if (postHasTag(posts[i], 'QOT') && post_time > midnight_today) {
post = posts[i];
break;
}
}
如果我们找不到帖子:设置引号为“今天没有选择报价”
if (post === null) {
setQuote("No quote picked for today");
} else {
否则:将报价设置为我们找到的帖子的文本
setQuote(getQuoteFromPost(post));
}
})();
如果定义了所有未定义的函数,这将按照您的要求执行。
由于tumblr页面上的所有帖子都有类post
,而引用帖子的类为quote
,所以给出了jQuery:
(function () {
var quotes = $("div.post.quote");
if (quotes.length > 0) {
$('div#header > h8').empty().append(
quotes.first().find("div.content > blockquote").clone()
);
}
})();
将每日报价替换为页面上的第一个报价,如果没有,则div#header > h8
的内容仍作为占位符内容。如果这也要检查日期,则需要解析div.post.quote > div.date
的内容并比较日期。