Javascript jQuery选择标记组

Javascript jQuery选择标记组,javascript,jquery,Javascript,Jquery,假设我有这样的结构: <p>Some text random 1</p> <p>Some text random 2</p> <p>Some text random 3</p> <div><img src=""></div> <p>Some text random 4</p> <p>Some text random 5</p> 我想在一个d

假设我有这样的结构:

<p>Some text random 1</p>
<p>Some text random 2</p>
<p>Some text random 3</p>
<div><img src=""></div>
<p>Some text random 4</p>
<p>Some text random 5</p>
我想在一个div元素中包围一组p标记,有人知道最好的方法吗。首选输出为:

<div class="p-tags">
    <p>Some text random 1</p>
    <p>Some text random 2</p>
    <p>Some text random 3</p>
</div>
<div><img src=""></div>
<div class="p-tags">
    <p>Some text random 4</p>
    <p>Some text random 5</p>
</div>
你可以使用wrapAll

你可以使用wrapAll


要将所有元素封装在一个中,可以使用wrapAll 要查找图像上方和图像下方的元素,可以分别使用Prevall和nextAll

$('button').on('click', function(){
    $('img').parents('div').prevAll().wrapAll('<div class="p-tags"></div>');
$('img').parents('div').nextAll().wrapAll('<div class="p-tags"></div>');
});

要将所有元素封装在一个中,可以使用wrapAll 要查找图像上方和图像下方的元素,可以分别使用Prevall和nextAll

$('button').on('click', function(){
    $('img').parents('div').prevAll().wrapAll('<div class="p-tags"></div>');
$('img').parents('div').nextAll().wrapAll('<div class="p-tags"></div>');
});

出于好奇,为什么不能在之前给出预期结构?最好的选择是在生成DOM本身时生成首选结构,如果是动态的。出于好奇,为什么不能在之前给出预期结构?最好的选择是在生成DOM本身时生成首选结构,如果是动态的。