2016-04-21 11 views
1
<div class="hello"> 
    Text1 
    <li>Text2</li> 
    <div class="bye">Text3</div> 
    Text4 Block 
    <div class="bye">Text5</div> 
    Last Text5 
</div> 

だから私は$('div.hello')を使って私がcheerioでつかむ上記を持っています。私はそれを反復したい。テキストノードを含むすべてをどのように反復するのですか?私は$('div.hello').contents()を使ってみましたが、これはテキストノード( "Text1、" Text4 Block "、" Last Text5 ")を取得していません。私の最終目標は基本的にHTMLブロックを分割して、 。 "さようなら" だから私はしたいあなたがmapまたはfilterメソッドを使用しようとすることができcheerioを使ってdivのすべての子ノードを取得しますか?

final_array = ['Text1 <li>Text2</li>', '<div class="bye">Text3</div> Text4 Block <div class="bye">Text5</div> Last Text5'] 

答えて

2

次のHTML文字列を保持する配列、例えば

:コールバック関数の基本的

var text = $('div.hello').contents().map(function() { 
    if (this.type === 'text') 
     return $(this).text().trim() 
}).get() 

で遊ぶ必要がありますあなたが望むものを得る。

+0

このようなことをやってしまった、ありがとう。 –

関連する問題