如何使用Javascript将1. 2. 3.添加到列表中

时间:2011-11-08 20:05:13

标签: jquery loops each

我有一个看起来像这样的页面:

<div class="post">
     <h1>Foo Bar</h1>
</div>

我想通过javascript添加帖子号码。

<div class="post">
     <h1>1. Foo</h1>
</div>

<div class="post">
     <h1>2. Bar</h1>
</div>

我想用jQuery做这个,我想我可以遍历每个帖子,只需使用prepend添加一个计数,做这样的事情:

$('.post h1').each( function(num) { 
    this.prepend(num+' .'); 
});

我得到的错误是:

**Object #<HTMLHeadingElement> has no method 'prepend'**

我想知道是否有人可以查看代码并告诉我哪里出错了?

2 个答案:

答案 0 :(得分:3)

在回调中,this是一个DOM元素,而不是一个jQuery对象。

请注意,索引是基于零的,因此您应该为其添加一个:

$('.post h1').each( function(num) { 
  $(this).prepend((num + 1) + ' .'); 
});

答案 1 :(得分:0)

您需要做的就是使用this上的jQuery运算符:

$(this).prepend(num+' .');