我正在使用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中的错误?
答案 0 :(得分:1)
在整整一天摆弄代码后,我终于得到了解决方案。显然我错误地加载了html片段。这对我有用
var $ = cheerio.load();
var dummy = $("<div></div>")
var item = dummy.append($(htmlString).slice(0,3)).html();