Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cheerio get element outer html

I am using cheerio to parse html file on server side with node 6.10.2. I need to get outerHtml of each div inside document body and my code is:

 /* const data is valid html document (type of string)*/
 const $ = cheerio.load(data);
 let pages = $('body > div').toArray();
 console.log(pages[0]); // Elements parsed correctly
 let htmlPages = pages.map(page => $(page).html());
 console.log(htmlPages[0]); // Here I have innerHtml, not outer...      

Problem: I'm getting string with innerHtml. Can anybody help pls. ?

like image 919
Kate Belova Avatar asked Apr 12 '17 09:04

Kate Belova


Video Answer


1 Answers

Change your map func to

let htmlPages = pages.map(page => $.html(page));

according to docs

like image 156
Johan Willfred Avatar answered Sep 19 '22 13:09

Johan Willfred