我有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>
答案 0 :(得分:6)
遍历每个span
并将此中的元素换行,直到下一个span
。如果没有nextUntil()
范围,它将选择DOM中的所有后续兄弟:
$('span').each(function(){
$(this).nextUntil('span').addBack().wrapAll('<div />')
});
答案 1 :(得分:0)
您可以使用wrapAll()
功能。请参阅此处的示例和文档:https://api.jquery.com/wrapAll/