0

我正在使用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后跟paragraph1paragraph2

我做错了什么还是这是cheerio中的错误?

4

1 回答 1

1

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

var $ = cheerio.load();
var dummy = $("<div></div>")
var item = dummy.append($(htmlString).slice(0,3)).html();
于 2013-06-30T18:27:53.523 回答