使用jQuery将div插入现有元素

时间:2013-12-19 14:39:06

标签: jquery

人。我有这个东西:

<dt><label class="required"><em>*</em>Color</label></dt>
<dd><div class="input-box">Some data</div></dd>

<dt><label class="required"><em>*</em>Trim</label></dt>
<dd><div class="input-box">Some data</div></dd>

我需要通过jquery将dt + dd放入某个div中。结果必须是:

<div>
<dt><label class="required"><em>*</em>Color</label></dt>
<dd><div class="input-box">Some data</div></dd>
</div>

<div>
<dt><label class="required"><em>*</em>Trim</label></dt>
<dd><div class="input-box">Some data</div></dd>
</div>

感谢。

2 个答案:

答案 0 :(得分:3)

一种可能的方法:

$('dt').each(function() {
  var $dt = $(this);
  $dt.add($dt.next()).wrapAll('<div>');
});

Demo。由于您需要同时包含dtdd,因此在此处使用.wrapAll很方便,因为.wrap处理上下文的jQuery集合的每个元素

话虽如此,我不禁想知道为什么要将这些内容包含在<div>中,而不是<dl>;后者在语义上是正确的。

答案 1 :(得分:2)

使用.wrap(),它围绕匹配元素集中的每个元素包装HTML结构。

var ch = "your html";
$( ch ).wrap( "<div></div>" );