我有一个cheerio对象:
const $ = cheerio.load('<span class="layer-chunk"></span>')
这是一个简单的示例,它要复杂得多。
我需要克隆它,以便我可以用它做不同的事情而实际上不影响它。
这是到目前为止我得到的:
const clone = $ => {
const strHtml = $('body').html()
return cheerio.load(strHtml)
}
const myClone = clone($)
但是我确信这不是一个便宜的操作。有一个clone method in the docs,但我无法使用它。我已经尝试过了:
const myClone = $.root().clone()
但是没有雪茄。有谁知道克隆cheerio对象的最佳实践?谢谢
答案 0 :(得分:1)
您总是可以这样做:
cheerio.load($.html())
答案 1 :(得分:1)
我认为,要实际使用克隆,您必须这样做:
cheerio('.layer-chunk', clone).text('something')
^^^^^
答案 2 :(得分:1)
如documentation所示,您要做的就是
const $ = cheerio.load('<div id="fruits">This is <em>content</em>.</div>')
const moreFruit = $('#fruits').clone()
或者您可以在此link
上检查cloneDom
通过首先将其呈现为给定的DOM结构来创建其深层副本 *字符串,然后解析结果标记。
谢谢