我有图片列表,我希望每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>
有可能! 无论如何,谢谢。
答案 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');
}