J'ai un objet cheerio:
const myClone = $.root().clone()
Ceci est un exemple simple, il est beaucoup plus complexe.
Je dois le cloner pour pouvoir le faire différentes choses avec lui sans réellement l’effectuer.
Voici ce que j'ai jusqu'à présent:
const clone = $ => { const strHtml = $('body').html() return cheerio.load(strHtml) } const myClone = clone($)
Mais je suis sûr que ce n'est pas bon marché op. Il existe une méthode de clonage dans la documentation mais je ne parviens pas à la faire fonctionner. J'ai essayé ceci:
const $ = cheerio.load('<span class="layer-chunk"></span>')
Mais pas de cigare. Quelqu'un connaît-il les meilleures pratiques pour cloner un objet cheerio? merci
3 Réponses :
Vous pouvez toujours simplement faire:
cheerio.load($.html())
C'est une amélioration merci - acceptera si personne ne répond avec comment utiliser Clone ()
Je pense que pour utiliser réellement le clone, vous devez le faire comme ceci:
cheerio('.layer-chunk', clone).text('something') ^^^^^
Comme indiqué dans la documentation tout ce dont vous avez besoin faites est
const $ = cheerio.load('<div id="fruits">This is <em>content</em>.</div>') const moreFruit = $('#fruits').clone()
ou vous pouvez vérifier cloneDom
sur ce lien
Créez une copie complète de la structure DOM donnée en la rendant d'abord une chaîne * et ensuite l'analyse du balisage résultant.
Merci