如何在jQuery中包装两个元素的组?

时间:2016-05-16 02:22:58

标签: javascript jquery html

我有以下代码:

<span>Hello</span>
<span>Hello</span>
<span>Hello</span>
<span>Hello</span>
<span>Hello</span>
<span>Hello</span>

我想将其改为:

<div>
  <span>Hello</span>
  <span>Hello</span>
</div>
<div>
  <span>Hello</span>
  <span>Hello</span>
</div>
<div>
  <span>Hello</span>
  <span>Hello</span>
</div>

我该怎么做?

2 个答案:

答案 0 :(得分:1)

<强>更新

使用此代码 - 它更通用,因为它不依赖于父元素中子元素的定位:

var odds = $("span:odd");
var evens = $("span:even");
var i = 0;
odds.each(function () {
  $(this).add(evens[i]).wrapAll('<div></div>');
  i++;
});

通过在线搜索得出结论:

$("span:nth-child(odd)").each(function () {
  $(this).add($(this).next()).wrapAll('<div></div>');
});

span:nth-child(odd)表示每秒<span>被选中。 $(this).add($(this).next())选择当前的<span>和下一个.wrapAll,然后<div>将它们集中在 $query = $this->mysqli->query("SELECT * FROM search_quantities sq WHERE MATCH (sq.address_string) AGAINST ('* *$sanitized* *')"); 代码中。

希望它有所帮助!

答案 1 :(得分:0)

您可以使用.slice()执行此操作,如下所示:

var divs = $("div>div");
for(var i = 0; i < divs.length; i+=2) {
   divs.slice(i, i+2).wrapAll("<div class='new'></div>");
}