如何通过使用jQuery包装来分组HTML元素

时间:2014-04-07 07:36:49

标签: javascript jquery html

我有HTML,我无法改变。我只能改变CSS和Javascript。我有带跨度的HTML和很多dl列表。

但是,现在我想要包装这个HTML。我想围绕它有一个div。但我想要团体的div。组以第一个跨度开始,以最后一个dl结束。

如何使用Javascript / jquery执行此操作?

<span>Information</span>
<dl></dl>
<dl></dl>
<dl></dl>
<dl></dl>
<span>Specifications</span>
<dl></dl>
<dl></dl>
<dl></dl>
<dl></dl>
<span>Product information</span>
<dl></dl>
<dl></dl>
<dl></dl>
<dl></dl>
<dl></dl>
<dl></dl>

2 个答案:

答案 0 :(得分:6)

遍历每个span并将此中的元素换行,直到下一个span。如果没有nextUntil()范围,它将选择DOM中的所有后续兄弟:

$('span').each(function(){
   $(this).nextUntil('span').addBack().wrapAll('<div />')
});

JSFiddle

答案 1 :(得分:0)

您可以使用wrapAll()功能。请参阅此处的示例和文档:https://api.jquery.com/wrapAll/