2016-06-11 18 views
1

以下のHTMLを使用して、各段落のhtmlを抽出しようとしています。しかし、私はノードをHTMLまたはクエリオブジェクトに戻す方法を見つけることができません。Cheerio DOMノードを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を「クエリオブジェクト」と呼び、toArrayメソッドのDOMノードを返します。より良いフレーズの欠如のために。

+0

'Element.outerHTML'? – gcampbell

+0

'outerHTML'はノードのプロパティではありません。そしてそれが上がる前に、私はCheerioの最新バージョンを持っています:P – MatUtter

+0

'outerHTML'はDOM要素の標準プロパティです。 – gcampbell

答えて

1

あなたは$.htmlを使用することができます。

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

documentationは予想通りしかし、チェリオのDOM要素も動作、セレクタを使用した例を示しています

あなたがouterHTMLを返したい場合は、使用することができます$ .html(セレクタ):

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

関連する問題