如何在jQuery中包装repeatbale元素集?

问题描述 投票:1回答:2

在jQuery中,我如何使用div包装可重复的元素集?

例如,我有:

img
h4
p  
img
h4
p
img
h4
p

我需要用img包裹每个h4pdiv 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

javascript jquery set selection traversal
2个回答
1
投票

你可以这样做:

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>

You can see a working demo here


0
投票

你的例子非常简单,所以这将有效:

$("h4").each(function () {
  $(this).prev().andSelf().next().andSelf().wrapAll("<div class='container'/>");
});

demo here

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.