cómo eliminar todos los atributos de js o jquery. (No sé cuáles son los atributos del cuerpo, quiero eliminarlos todos)cómo eliminar todos los atributos de <body> con js o jquery
Respuesta
Puede usar la propiedad DOM Level 1 Core attributes
para acceder a los atributos como una lista. Como JS llano:
function removeAllAttrs(element) {
for (var i= element.attributes.length; i-->0;)
element.removeAttributeNode(element.attributes[i]);
}
removeAllAttrs(document.body);
O vestido con ropas plugin de jQuery:
$.fn.removeAllAttrs= function() {
return this.each(function() {
$.each(this.attributes, function() {
this.ownerElement.removeAttributeNode(this);
});
});
};
$('body').removeAllAttrs();
Esto es lo que necesito. Muchas gracias. – faressoft
+1 gran solución. Deberías aceptar la respuesta @faressoft – Marko
¿Funciona esto en IE? En IE 'attributes' contiene todos los posibles nombres de atributo, independientemente de si se han configurado, y me pregunté si eso podría causar problemas. No lo he probado todavía –
var $newBody = $('<body>');
$newBody.append($('body').contents());
$('body').replaceWith($newBody);
Algo como esto podría funcionar.
Reemplazar el 'cuerpo' tiene el efecto secundario de perder cualquier referencia de JavaScript/jQuery que lo señale, incluyendo cualquier manejador de eventos en él. – bobince
onclick, etc. son atributos desde un punto de vista XHTML. Además, es trivial asegurarse de que esto se ejecute antes que cualquier otro enlace de evento jQuery. –
No sé si es la mejor manera pero funciona
$('body').each(function(){
var $body = $(this);
var attributes = $.makeArray(this.attributes);
$.each(attributes, function(indexInArray, valueOfElement) {
$body.removeAttr(valueOfElement.name);
});
});
¿Es "necesario" cada "aquí"? –
Suponiendo que desea quitar los atributos de element
, se puede usar algo como
$(element).removeAttr($.makeArray(element.attributes)
.map(function(item){ return item.name;})
.join(' '));
Tenga en cuenta que esto solo funcionará con jQuery 1.7+
A partir de ES2015, puede usar Array.from().
const el = document.body;
const attributes = Array.from(el.attributes);
attributes.forEach(attr => el.removeAttributeNode(attr));
- 1. Eliminar todos los atributos
- 2. * todos * los atributos CSS con jQuery
- 3. jQuery obtener todos los atributos HTML
- 4. ¿Cómo obtener todos los ID con jQuery?
- 5. ¿Cómo elimino todos los puntos críticos de Firebug JS?
- 6. Eliminar todos los atributos de un elemento basado en una lista blanca
- 7. eliminar <br> con jquery
- 8. Cómo eliminar todos los controladores de eventos Click en Jquery
- 9. cómo conseguir <head> contenido de la página actual con jQuery o JS
- 10. ¿Cómo puedo obtener una lista de todos los atributos del elemento css con jQuery?
- 11. expresiones regulares - coincide con todos los anclajes con atributos opcionales
- 12. ¿Cómo eliminar todos los artículos de ConcurrentBag?
- 13. clase añadir a todos los enlaces que enlazan con un determinado dominio con js (jquery)
- 14. ¿Cómo puedo usar JQuery para obtener todos los nodos con atributos iguales a un valor?
- 15. eliminar los parámetros url con javascript o jquery
- 16. Jquery agregar/eliminar múltiples atributos en seleccionar
- 17. jQuery selectores de atributos o la operación
- 18. Eliminar eventos con jQuery o Javascript
- 19. ¿Cómo eliminar todos los elementos de ListBox?
- 20. Magento: cómo eliminar todos los redireccionamientos permanentes
- 21. ¿Alguna forma de obtener todos los id (atributos) de todos los elementos de una clase concreta?
- 22. Usando jquery para eliminar todos los elementos con un ID dado
- 23. Cómo obtener todos los atributos HTML que comienzan con algo (los nombres de los atributos, * no * sus valores!)
- 24. JQuery DataTables - Eliminar fnFilter y mostrar todos los resultados
- 25. de datos múltiples atributos de HTML5 con jQuery
- 26. Raphael JS: cómo eliminar eventos?
- 27. Cómo eliminar todos los XElements vacíos
- 28. preload swf con jquery/JS
- 29. Eliminar todos los marcadores gmaps en jquery quitar el botón
- 30. Jquery encuentra todos los elementos con texto
¿Cuál es su objetivo final al hacer esto? –
@meder: solo puedo suponer que no puede controlar la salida de la página que controla. –
Algo relacionado http://stackoverflow.com/questions/2048720/get-all-attributes-from-a-html-element-with-javascript-jquery – BrunoLM