jQuery之后4 img添加一些标签

时间:2011-11-08 10:30:36

标签: jquery

我有图片列表,我希望每4张图片后添加li标签。有些像这样。

我有这个。

<img src="#" />
<img src="#" />
<img src="#" />
<img src="#" />

<img src="#" />
<img src="#" />
<img src="#" />
<img src="#" />

看起来像这样

<li>
    <img src="#" />
    <img src="#" />
    <img src="#" />
    <img src="#" />
</li>
<li>    
    <img src="#" />
    <img src="#" />
    <img src="#" />
    <img src="#" />
</li>

有可能! 无论如何,谢谢。

2 个答案:

答案 0 :(得分:3)

使用.slice(),您可以获得匹配元素的切片,以及您的案例中的图像。然后,您可以使用新的容器元素替换它们,其内容是元素本身......最好在这个小提琴中解释:http://jsfiddle.net/BEGWZ/1/

var ps = $('p');
var offset = 2;
for (var i = 0; i < ps.size(); i += offset) {
    ps.slice(i, i + offset).wrapAll('<div></div>');
}

修改:Val链接的重复问题有更好的方法

答案 1 :(得分:0)

使用@wutz'解决方案,您可以这样做:http://jsfiddle.net/p73SV/

var ps = $('img');
var offset = 4;
for (var i = 0; i < ps.size(); i += offset) {
    var container = $('<li></li>');
    var content = ps.slice(i, i + offset);
    content.replaceWith(container);
     container.html(content).appendTo('ul');
}