插入使用 Javascript 每 5 个元素
我有一个通过 CMS(ExpressionEngine)控制的简单图像列表。像这样:
<div class="wrapper">
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
</div>
我想要做的是每 5 张图像,将它们包装在一个带有“幻灯片”类的 div 中。看起来像这样:
<div class="wrapper">
<div class="slide">
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
</div>
<div class="slide">
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
</div>
</div>
我没有手动编码“”的原因是因为我使用的 jQuery 内容滑块要求每 5 个图像都包含在幻灯片 div 中。
我不确定 ExpressionEngine 中的代码是如何做到这一点的,但我认为使用 Javascript 用 div 包装每 5 个图像可能会更容易。并且让 ExpressionEngine 一次性输出不同的图像。
有什么帮助吗?
I have a simple list of images that is being controlled via a CMS (ExpressionEngine). Like this:
<div class="wrapper">
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
</div>
What I want to do is for every 5 images, wrap them in a div with a class of "slide." To look like this:
<div class="wrapper">
<div class="slide">
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
</div>
<div class="slide">
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
<a href="#"><img src="#" /></a>
</div>
</div>
The reason I am not manually coding the "" in is because of a jQuery content slider that I am using which requires every 5 images to be wrapped inside a slide div.
I'm not sure how what the code in ExpressionEngine would be to do this, but I figure it might just be easier to use Javascript to wrap every 5 images with the div. And to just have ExpressionEngine output the different images all at once.
Any help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这是一种方法:
示例: http://jsfiddle.net/T6tu4/
这是另一种方式:
示例: http://jsfiddle.net/T6tu4/1/
Here's one way:
Example: http://jsfiddle.net/T6tu4/
Here's another way:
Example: http://jsfiddle.net/T6tu4/1/
您只需为每个第五个元素创建一个 div,然后使用
append
方法将链接移动到其中:演示:http://jsfiddle.net/Guffa/ybrxu/
You can just create a div for every fith element and move the links into them using the
append
method:Demo: http://jsfiddle.net/Guffa/ybrxu/
我认为这会做到这一点:
I think this would do that:
试试这个:
Try this:
您需要使用 jQuery slice 和换行
检查 这个问题
You need to use jQuery slice with wrap
Check this question
使用slice()选择元素子集,然后使用wrapAll()将div包裹在它们周围。这是一个执行此操作的函数。
演示: http://jsfiddle.net/C5cHC/
注意,slice 的第二个参数可能会越界,但 jQuery 似乎会自动处理这个问题。
Use slice() to select the element subset then wrapAll() to wrap the div around them. Here's a function that does that.
Demo: http://jsfiddle.net/C5cHC/
Note that the second parameter of slice may go out of bounds, but jQuery seems to handle this automatically.