0
votes

Comment cloner un objet cheerio

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


0 commentaires

3 Réponses :


2
votes

Vous pouvez toujours simplement faire:

cheerio.load($.html())


1 commentaires

C'est une amélioration merci - acceptera si personne ne répond avec comment utiliser Clone ()



1
votes

Je pense que pour utiliser réellement le clone, vous devez le faire comme ceci:

cheerio('.layer-chunk', clone).text('something')
                        ^^^^^


0 commentaires

1
votes

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


0 commentaires