Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery包装HTML元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何使用jQuery包装HTML元素

Javascript 如何使用jQuery包装HTML元素,javascript,jquery,html,Javascript,Jquery,Html,我有HTML,我不能更改。我只能更改CSS和Javascript。我有带跨距的HTML和很多dl列表 但是,现在我想包装这个HTML。我想绕着它跳一跳。但我想和大家分享一下。组以第一个跨度开始,最后一个dl结束 如何使用Javascript/jquery实现这一点 <span>Information</span> <dl></dl> <dl></dl> <dl></dl> <dl><

我有HTML,我不能更改。我只能更改CSS和Javascript。我有带跨距的HTML和很多dl列表

但是,现在我想包装这个HTML。我想绕着它跳一跳。但我想和大家分享一下。组以第一个跨度开始,最后一个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>
信息
规格
产品信息

您可以使用
wrapAll()
函数。请参阅此处的示例和文档:

在每个
span
之间循环,并将元素从此包装到下一个
span
。如果没有
nextUntil()

$('span').each(function(){
   $(this).nextUntil('span').addBack().wrapAll('<div />')
});
$('span')。每个(函数(){
$(this.nextUntil('span').addBack().wrapAll('')
});

这是一个很好的功能,但OP会询问如何在第一个跨度和最后一个dl之间,或者在下一个跨度之前进行换行。是的,这是我的问题。我已经阅读了jquery中的包装函数。但这不是解决办法。