I have p tags inside div element.
I want to wrap the div children/child with div tag using cheerio library.
I try to use wrap: $('.parent').children().wrap('<div></div>'); But it wraps every element in my div.
Is it possible to wrap all the children with one tag div like this:
<div class="parent">
<div>
<p>Child 1</p>
<p>Child 2</p>
<p>Child 3</p>
</div>
</div>
The code I try to do:
import cheerio from 'cheerio';
const html = `
<div class="parent">
<p>Child 1</p>
<p>Child 2</p>
<p>Child 3</p>
</div>
`;
const $ = cheerio.load(html);
$('.parent').children().wrap('<div></div>');
console.log($.html());
// Output:
// <div class="parent">
// <div><p>Child 1</p></div>
// <div><p>Child 2</p></div>
// <div><p>Child 3</p></div>
// </div>
Advertisement
Answer
Use method wrapInner like that:
$('.parent').wrapInner("<div></div>");