从foreach循环中的DOMNode中删除所有属性,可以使用以下方法:
removeAttribute
方法删除属性:const nodes = document.querySelectorAll('*');
nodes.forEach((node) => {
const attributes = node.attributes;
for (let i = attributes.length - 1; i >= 0; i--) {
node.removeAttribute(attributes[i].name);
}
});
removeAttributeNode
方法删除属性:const nodes = document.querySelectorAll('*');
nodes.forEach((node) => {
while (node.attributes.length > 0) {
node.removeAttributeNode(node.attributes[0]);
}
});
setAttribute
方法将属性值设置为空字符串:const nodes = document.querySelectorAll('*');
nodes.forEach((node) => {
const attributes = node.attributes;
for (let i = attributes.length - 1; i >= 0; i--) {
node.setAttribute(attributes[i].name, '');
}
});
outerHTML
属性将元素替换为其内部HTML:const nodes = document.querySelectorAll('*');
nodes.forEach((node) => {
node.outerHTML = node.innerHTML;
});
innerHTML
属性将元素的内部HTML替换为其本身:const nodes = document.querySelectorAll('*');
nodes.forEach((node) => {
node.innerHTML = node.outerHTML;
});
以上方法可以从foreach循环中的DOMNode中删除所有属性,但需要注意的是,这些方法可能会影响页面的正常显示和功能,因此在使用之前需要进行充分的测试和验证。
领取专属 10元无门槛券
手把手带您无忧上云