Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

184
Visualizações
¿Cómo elimino una propiedad de elemento DOM?

Si tengo un elemento con la propiedad className establecida en "prueba", ¿cómo elimino el atributo HTML asociado con esa propiedad?

Ejemplo de lo que estoy tratando de lograr:

 const set = (el, prop, value) => el[prop] = value; const rm = (el, prop) => delete el[prop]; // How do I do this? const el = document.createElement("div"); set(el, "className", "test"); // el: <div class="test"></div> rm (el, "className"); // el: <div></div>

¿Tengo que asignar propiedades a atributos y usar removeAttribute() ? Si es así, ¿hay una asignación proporcionada por el DOM que pueda usar? ¿O tengo que escribir el mío?

¿O hay algo como delete el.className que pueda usar?

La misma pregunta para otros atributos como onclick , htmlFor , etc.

Ejemplo:

 const el = document.createElement("div"); el.className = "test"; // How do I unset className? delete el.className; // Doesn't do anything. el.className = null; // Sets the string "null". Same for "undefined". // Do I need to do this? // If so, can I get this from somewhere in the DOM? const propToAttrMap = { "className": "class", "htmlFor": "for", ... }; el.removeAttribute(propToAttrMap["className"]);
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Intente establecer la propiedad en una cadena vacía. No elimina necesariamente el atributo, pero debería anularlo. Para tipos booleanos como disabled , debería funcionar de manera similar.

La única advertencia en la que puedo pensar es que una vez que se le ha dado un atributo a un elemento, aparecerá en los selectores de consulta en los que habría estado ausente anteriormente.

 const set = (el, prop, value) => el[prop] = value; const rm = (el, prop) => el[prop] = ""; const btn = document.querySelector("button") const div = document.querySelector("div") console.log("original:", div.innerHTML) console.log("classy elements:", document.querySelectorAll("[class]").length) set(btn, "className", "red") set(btn, "disabled", true) console.log("set both:", div.innerHTML) rm(btn, "className") console.log("rm className:", div.innerHTML) rm(btn, "disabled") console.log("rm disabled:", div.innerHTML) console.log("classy elements:", document.querySelectorAll("[class]").length)
 <div><button>Click me!</button></div>

about 4 years ago · Juan Pablo Isaza Relatório

0

class es su atributo y para eliminar cualquier atributo, solo necesita escribir:

 el.removeAttribute('your_attribute')

En tu caso:

 el.removeAttribute('class')

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Relatório

0

Si bien jQuery proporciona un método adicional (addProp() y removeProp()) para configurar y obtener los valores de las propiedades de los elementos, sí, no hay nada tan importante en JavaScript simple. Las propiedades de los elementos, como href, title, alt y value, son directamente accesibles como propiedades de objeto de JavaScript.

Encuentre a continuación un ejemplo.

 var el = document.querySelector('a'); console.log(el.href); if (el.title != 'Welcome') el.title = 'Welcome'; var inp = document.querySelector('input[type="text"]'); console.log(inp.value); inp.value = 'Hello World!';

Incluso puede agregar y eliminar nuevas propiedades a un elemento DOM como se muestra a continuación.

 var el = document.querySelector('div'); el.animal= { name: 'Lion'}; console.log(el.animal); delete el.foo;

Gracias

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda