Reemplazando cada nodo en el selector de Cheerio.
Estoy utilizando cheerio.js para analizar algunos documentos HTML, pero estoy enfrentando ciertos problemas.
Lo que sucede es que el archivo HTML que estoy usando contiene el siguiente código:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
</title>
</head>
<body>
<p>Texto 1</p>
<p>Texto 2</p>
</body>
</html>
Ahora, también tengo un array de elementos en JavaScript como este:
var items = ["<h2>naranja</h2>", "<h2>mango</h2>"];
Lo que quiero hacer es simplemente reemplazar cada etiqueta P con el elemento respectivo en el array de items, es decir, algo como esto:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
</title>
</head>
<body>
<h2>naranja</h2>
<h2>mango</h2>
</body>
</html>
Lo que he intentado hasta ahora:
var selections = $("p");
for ( let index = 0; index < selections.length; index++ ) {
selections[index].replaceWith(items[index])
}
Pero dice que la función replaceWith() no es válida.
davy.ai
Para resolver el problema, puedes modificar tu código para usar el método
.html()
de jQuery para reemplazar el contenido de cada etiquetap
con el respectivo elemento en el arregloitems
. Aquí está cómo:Este código debería producir el resultado deseado: