人。我有这个东西:
<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>
感谢。
答案 0 :(得分:3)
一种可能的方法:
$('dt').each(function() {
var $dt = $(this);
$dt.add($dt.next()).wrapAll('<div>');
});
Demo。由于您需要同时包含dt
和dd
,因此在此处使用.wrapAll很方便,因为.wrap
处理上下文的jQuery集合的每个元素
话虽如此,我不禁想知道为什么要将这些内容包含在<div>
中,而不是<dl>
;后者在语义上是正确的。
答案 1 :(得分:2)
使用.wrap()
,它围绕匹配元素集中的每个元素包装HTML结构。
var ch = "your html";
$( ch ).wrap( "<div></div>" );