2017-04-12 111 views
4

我正在使用cheerio解析服务器端节点6.10.2的html文件。我需要的文档体内每格的outerHtml和我的代码是:Cheerio获取元素外部html

/* 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...  

问题:我得到字符串的innerHTML。 任何人都可以帮助请求。 ?

回答

6

根据docs

+1

谢谢,作品! –

0

地图FUNC改为

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

如果你不容易接触到原来的$对象,下面也适用

function outerHTML (element) { 
    var index = element.index(); 
    var parent = element.parent().clone(); 
    var child = parent.children()[index]; 
    parent.empty(); 
    parent.append(child); 
    return parent.html(); 
}