Estoy trabajando en algo donde quiero usar este código HTML que está presente en una variable de cadena después de pasarlo a alguna otra función.
var foo = "<html><body><div class='myClass'><div id='myId'>Hello World!!</div></div></body></html>";
Utilice la API de DOMParser para convertir su cadena en un objeto dedocument
.
const data = "<html><body><div class='myClass'><div id='myId'>Hello World!!</div></div></body></html>"; const parser = new DOMParser(); const doc = parser.parseFromString(data, 'text/html'); const myClass = doc.querySelector('.myClass'); const myId = doc.querySelector('#myId'); console.log(myClass, myId);
Puede usar cheerio.js en este caso.
var cheerio = require('cheerio'); var foo = "<html><body><div class='myClass'><div id='myId'>Hello World!!</div></div></body></html>" const $ = cheerio.load(foo); $('div#myId').text('Hello there!'); $('div#myId').addClass('newClass'); $.html(); //=> <html><body><div class='myClass'><div id='myId'>Hello World!!</div></div></body></html>
Solo haz estos pasos:
Necesita analizar la cadena en html de esta manera:
let myhtml = document.createElement("html"); myhtml.innerHTML = foo;
Después de analizar tu html, puedes hacer lo que quieras. Al igual que si desea el elemento class="myClass"
, entonces puede hacer esto:
const myelement1 = myhtml.querySelector(".myClass");
Del mismo modo, si desea el elemento id = "myid"
, puede hacer lo siguiente:
const myelement2 = myhtml.querySelector("#myid");