Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
Reaccionar: elimine ciertos elementos html de la cadena y normalice

Tengo una aplicación React. También tengo una cadena que representa un div y este div contiene otros elementos, como input , img , div , etc. Me gustaría mostrar esta cadena como HTML usando dangerouslySetInnerHTML (que sé que es muy peligroso). Pero antes de hacerlo, me gustaría eliminar ciertos elementos de la cadena que corresponden a ciertas etiquetas, como img , svg , por nombrar algunas. ¿Cuál es la manera de lograr esto?

BONUS: Cada uno de estos elementos puede tener clase, id y/u otros atributos. Sería bueno eliminar estos atributos también.

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Para eliminar ciertas etiquetas, use DOMParser para convertir la cadena en un documento, luego use querySelectorAll para seleccionar todas las etiquetas que no desea y .remove() ellas.

Para eliminar también todos los atributos de todos los elementos, cambie querySelectorAll para seleccionar todos los elementos e itere sobre sus .attributes .

 const str = ` <main class="foo"> <input> <img> <div>div</div> <section id="thesection" class="sectionclass"> <img> <span>span</span> </setion> </main> `; const doc = new DOMParser().parseFromString(str, 'text/html'); const tagsToRemove = 'input, img, div'; for (const elm of doc.querySelectorAll('*')) { if (elm.matches(tagsToRemove)) { elm.remove(); } for (const attrib of [...elm.attributes]) { elm.removeAttribute(attrib.name); } } console.log(doc.body.innerHTML);

about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!