使用cheerio获取div的所有子节点?

<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()但这不是抓住文本节点(“文本1”,“文本4块”和“上一个文本5”)。我的最终目标是基本上拆分HTML块当我到达具有“再见”类的第一个元素。所以我想要一个数组持有以下的HTMLstring,

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

您可以尝试使用映射或过滤方法。

例如:

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

基本上在callback函数,你需要玩if's得到你想要的。