jQuery函数返回[Object Object]

时间:2014-06-28 03:55:42

标签: javascript jquery

使用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]要么完全不返回任何内容。

我是否以错误的方式解决这个问题?是否有更有效的方法来获得第一篇文章的时间并预先设置它?

编辑:

我的代码有效,我只是错误地将它放在它所依赖的函数之前。

1 个答案:

答案 0 :(得分:1)

不应立即运行js函数,而应在document ready上运行它,即:

$(function(){
    var latestPost = $('.posts.new article').filter(':first');
    var postTime = latestPost.find('time').text();
    latestPost.before('<h2>' + postTime + '</h2>')
});

请参阅:http://jsfiddle.net/pry8p/