使用jQuery我试图从第一篇文章中检索日期,然后在第一篇<h2>
之前将其插入<article>
jQuery的:
(function(){
var latestPost = $('.posts.new article').filter(':first');
var postTime = latestPost.find('time').text();
latestPost.before('<h2>' + postTime + '</h2>')
}());
HTML之前:
<div class="posts new">
<article>
<div class="title">First Post</div>
<time datetime="2014-06-27">Today</time>
</article>
<article>
<div class="title">Second Post</div>
<time datetime="2014-06-26">Yesterday</time>
</article>
</div>
HTML After:
<div class="posts new">
<h2>Today</h2>
<article>
<div class="title">First Post</div>
<time datetime="2014-06-27">Today</time>
</article>
<article>
<div class="title">Second Post</div>
<time datetime="2014-06-26">Yesterday</time>
</article>
</div>
现在,我似乎无法按预期工作。它要么显示[Object Object]
要么完全不返回任何内容。
我是否以错误的方式解决这个问题?是否有更有效的方法来获得第一篇文章的时间并预先设置它?
编辑:
我的代码有效,我只是错误地将它放在它所依赖的函数之前。
答案 0 :(得分:1)
不应立即运行js函数,而应在document ready上运行它,即:
$(function(){
var latestPost = $('.posts.new article').filter(':first');
var postTime = latestPost.find('time').text();
latestPost.before('<h2>' + postTime + '</h2>')
});