Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

95
Vistas
Eliminar un atributo aleatorio específico y generado de la cadena HTML

¿Sería posible cambiar una cadena que contenga esta línea de HTML:

 '<div _ngcontent-isd-c78="" pdroppable="formElements" class="panel" ng-reflect-scope="formElements" id="divPanelId" style="color: red">DivContent</div>'

A esto:

 '<div id="divPanelId" style="color: red">DivContent</div>'

Quiero eliminar _ngcontent-?? , pdroppable , class y ng-reflect-scope .

¿Es posible usar JavaScript con Regex?

Nota: _ngcontent-isd-c78 se cambia aleatoriamente. Por ejemplo, _ngcontent-sfw-c53 , _ngcontent-isw-c21 . Así que _ngcontent-???? donde ???? es un valor aleatorio

almost 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Si tiene acceso DOM, úselo.

NOTA: si te metes con los atributos angulares, puedes romper cosas

 const div = document.getElementById("divPanelId");
const keep = ["style","id"]; 
div.getAttributeNames().forEach(attr => {
 if (keep.includes(attr)) return;
 console.log("removing",attr)
 div.removeAttribute(attr)
}) 
console.log(div.outerHTML)
 <div _ngcontent-isd-c78="" pdroppable="formElements" class="panel" ng-reflect-scope="formElements" id="divPanelId" style="color: red">DivContent</div>

almost 4 years ago · Santiago Trujillo Denunciar

0

puedes usar expresiones regulares

 var text = `<div _ngcontent-isd-c78="" _ngcontent-isd-c80="" _ngcontent-whd-c50="asdad" pdroppable="formElements" class="panel" ng-reflect-scope="formElements" id="divPanelId" style="color: red">DivContent</div>`;
 
 const one = /(.?)ngcontent(.*?)="(.*?)"/g;
 const two = /pdroppable(.*?)="(.*?)"/g;
 const three = /class="(.*?)"/g;
 const four = /ng-reflect-scope(.*?)="(.*?)"/g;
 text = text.replace(one, "").replace(two, "").replace(three, "").replace(four, "");
 console.log(text)

almost 4 years ago · Santiago Trujillo Denunciar

0

Aquí hay una forma de traer la cadena html al mundo DOM, eliminar los atributos no deseados y luego volver a convertirla en una cadena.

 const inputDivStr = '<div _ngcontent-isd-c78="" pdroppable="formElements" class="panel" ng-reflect-scope="formElements" id="divPanelId" style="color: red">DivContent</div>';

const parent = document.createElement('div');
parent.innerHTML = inputDivStr;
const divElem = parent.firstChild;
for (let attrName of divElem.getAttributeNames()) {
 if (shouldRemoveAttr(attrName)) {
 divElem.removeAttribute(attrName);
 }
}

const outputDivStr = parent.innerHTML;
console.log(outputDivStr);

function shouldRemoveAttr(attrName) {
 const regex = /_ngcontent-|pdroppable|class|ng-reflect-scope/;
 return attrName.match(regex);
}

almost 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda