2017-04-12 89 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(); 
}