在jQuery中,如何使用div包装一组可重复的元素?
例如,我有:
img
h4
p
img
h4
p
img
h4
p
我需要用div class="container"
包装每个img
、h4
、p
集合。因此,它将看起来像:
<div class="container"> img h4 p </div>
<div class="container"> img h4 p </div>
<div class="container"> img h4 p </div>
我一直收到嵌套的div.containers
!
发布于 2010-05-06 07:04:21
你可以这样做:
var elems = $("#content").find("img, h4, p");
for(var i = 0; i < elems.length; i+=3) {
elems.slice(i, i+3).wrapAll("<div class='container'></div>");
}
这是通过选择这些元素所在的容器并获取这些特定类型来实现的,如果您想要的元素是所有类型,则可以用.children()
替换.find(selector)
,在本例中,我对父元素使用了以下内容:
<div id="container"></div>
You can see a working demo here
发布于 2010-05-06 07:09:29
您的示例非常简单,因此下面的示例将会起作用:
$("h4").each(function () {
$(this).prev().andSelf().next().andSelf().wrapAll("<div class='container'/>");
});
demo here
https://stackoverflow.com/questions/2777301
复制相似问题