如何将Cheerio DOM节点变回html?

时间:2016-06-11 18:43:41

标签: javascript jquery html cheerio

使用下面的HTML,我试图提取每个段落的html。但是我找不到任何方法将节点转回HTML或查询对象。

以下是字符串var html = ...

<article>
    <p> p1 </p>
    <p> p2 </p>
</article>

html是这样加载的

var $ = require('cheerio').load(html)
var paragraphs = $('p').toArray().map(p => /* I want the html at this point */ )

如何获取这些段落的HTML?

注意:为了清楚起见,我调用了cheerio.load a&#34;查询对象的返回值&#34;并返回toArray方法DOM节点;缺乏更好的短语。

1 个答案:

答案 0 :(得分:5)

您可以使用$.html

var paragraphs = $('p').toArray().map(p => {
    console.log($.html(p));
    return $.html(p);
});

documentation显示了使用选择器的示例,但是cheerio DOM元素也按预期工作:

  

如果要返回outerHTML,可以使用$ .html(selector):

     

$.html('.pear') //=> <li class="pear">Pear</li>