如何使用js或jquery从中删除所有属性

如何从js或jquery中删除所有属性。 (我不知道身体里的属性是什么,我想要删除它们)

您可以使用DOM Level 1 Core attributes属性作为列表访问属性。 作为简单的JS:

 function removeAllAttrs(element) { for (var i= element.attributes.length; i-->0;) element.removeAttributeNode(element.attributes[i]); } removeAllAttrs(document.body); 

或者穿着jQuery插件衣服:

 $.fn.removeAllAttrs= function() { return this.each(function() { $.each(this.attributes, function() { this.ownerElement.removeAttributeNode(this); }); }); }; $('body').removeAllAttrs(); 

假设您要删除element的属性,您可以使用类似的东西

 $(element).removeAttr($.makeArray(element.attributes) .map(function(item){ return item.name;}) .join(' ')); 

请注意,这仅适用于jQuery 1.7+

 var $newBody = $(''); $newBody.append( $('body').contents() ); $('body').replaceWith( $newBody ); 

这样的事可能有用。

我不知道这是不是最好的方式,但它有效

 $('body').each(function(){ var $body = $(this); var attributes = $.makeArray(this.attributes); $.each(attributes, function(indexInArray, valueOfElement) { $body.removeAttr(valueOfElement.name); }); }); 

从ES2015开始,您可以使用Array.from() 。

 const el = document.body; const attributes = Array.from(el.attributes); attributes.forEach(attr => el.removeAttributeNode(attr));