Как мне добавить 1. 2. 3. к списку, используя Javascript - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть страница, которая выглядит так:

<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 ]

3 голосов
/ 09 ноября 2011

В обратном вызове this является элементом DOM, а не объектом jQuery.

Обратите внимание, что индекс основан на нуле, поэтому вы должны добавить к нему один:

$('.post h1').each( function(num) { 
  $(this).prepend((num + 1) + ' .'); 
});
0 голосов
/ 09 ноября 2011

Все, что вам нужно сделать, это использовать оператор jQuery на this:

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