在jQuery中,我如何使用div包装可重复的元素集?
例如,我有:
img
h4
p
img
h4
p
img
h4
p
我需要用img
包裹每个h4
,p
,div class="container"
。所以它看起来像:
<div class="container"> img h4 p </div>
<div class="container"> img h4 p </div>
<div class="container"> img h4 p </div>
我一直在嵌套div.containers
!
你可以这样做:
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>");
}
这通过选择这些元素所在的容器并抓取这些特定类型来工作,如果你想要的元素是一切,你可以用.find(selector)
替换.children()
,在这种情况下我用它作为父元素:
<div id="container"></div>
你的例子非常简单,所以这将有效:
$("h4").each(function () {
$(this).prev().andSelf().next().andSelf().wrapAll("<div class='container'/>");
});