无法使用cheerio提取html片段

时间:2013-06-30 08:23:54

标签: node.js cheerio

我正在使用cheerio在节点js服务器上执行一些html操作。我有一个像这样的html字符串

var htmlString =" <ol>
  <li>
  <p>item1</p>
 </li>
 <li>
  <p>item2</p>
</li>
<li>
  <p>item 3</p>
</li>
   <li>
   <p>item 4</p>
</li>
</ol>
 <p>First paragraph</p>
<p>second paragraph</p>
<p>Third paragraph</p>
"

 var $ = cheerio.load(htmlString);
var dummy = $("<div></div>")
var item = dummy.append($("*").slice(0,3).clone()).html();

返回的输出是

 <ol>
  <li>
  <p>item1</p>
 </li>
 <li>
  <p>item2</p>
</li>
<li>
  <p>item 3</p>
</li>
   <li>
   <p>item 4</p>
</li>
</ol>

<li>item1</li>
<p>item1</p>

我期望的输出是ordered list后跟paragraph1后跟paragraph2

我做错了什么,或者这是cheerio中的错误?

1 个答案:

答案 0 :(得分:1)

在整整一天摆弄代码后,我终于得到了解决方案。显然我错误地加载了html片段。这对我有用

var $ = cheerio.load();
var dummy = $("<div></div>")
var item = dummy.append($(htmlString).slice(0,3)).html();