将每个图像包装在div中并添加一个数字

时间:2014-04-07 01:25:32

标签: jquery html image

我试图编写一个函数来将每个图像包装在div中,然后为每个图像插入带有标签的span。

这是我到目前为止所写的:

$('#carousel img').each(function(index) {
  $(this).wrap('<div class="image"></div>');
  $(this).before(function (index) {
    index = '00' + (index + 1);
    return '<span class=index>' + index.substr(index.length - 2) + '</span>';
  });
});

我的代码实际上是这样做的,注意数字问题并将 span放在img标记中:

<div class="image">
  <img src="img/ny1.jpg" />
    <span class="index">01</span>   
  </img>
</div>

<div class="image">
  <img src="img/ny2.jpg" />
    <span class="index">01</span>   
  </img>
</div>

期望的结果:

由此:

<img src="img/ny1.jpg" /> <img src="img/ny2.jpg" />

对此:

<div class="image">
<span class="index">01</span>   
<img src="img/ny1.jpg" />
</div>

<div class="image">
<span class="index">02</span>   
<img src="img/ny1.jpg" />
</div>

由于

1 个答案:

答案 0 :(得分:2)

如果您遇到的问题与编号有关(因为我没有看到其他错误),请从index

中删除$(this).before(function (index) {

<强> jsFiddle example