HTML简化

1.删除所有属性

javascript - Remove all attributes - Stack Overflow

javascript 复制代码
function delAttribute(element) {
	while (element.attributes.length > 0)
    	element.removeAttribute(element.attributes[0].name);
}
javascript 复制代码
var table = document.getElementsByTagName('table');
for (var i=0; i<table.length; i++) {
	delAttribute(table[i]);
}

var tbody = document.getElementsByTagName('tbody');
for (var i=0; i<tbody.length; i++) {
	delAttribute(tbody[i]);
}

var tr = document.getElementsByTagName('tr');
for (var i=0; i<tr.length; i++) {
	delAttribute(tr[i]);
}

var td = document.getElementsByTagName('td');
for (var i=0; i<td.length; i++) {
	delAttribute(td[i]);
	td[i].innerHTML = td[i].textContent; //仅保留td文字部分
}

var div = document.getElementsByTagName('div');
for (var i=0; i<div.length; i++) {
	delAttribute(div[i]);
}

var span = document.getElementsByTagName('span');
for (var i=0; i<span.length; i++) {
	delAttribute(span[i]);
}

var p = document.getElementsByTagName('p');
for (var i=0; i<p.length; i++) {
	delAttribute(p[i]);
}

2.预览

javascript 复制代码
var s = document.documentElement.outerHTML;
//换行
s = s.replace('<html>', '<html>\n').replace('<head>', '<head>\n').replace('<style>', '<style>\n').replace('</style>', '\n</style>').replace('</head>', '\n</head>').replace('<body>', '\n<body>').replace('<table>', '\n<table>\n').replace('<tbody>', '\n<tbody>\n').replaceAll('</tr>', '</tr>\n').replace('</tbody>', '</tbody>\n').replace('</table>', '</table>\n').replace('</body>', '</body>\n');
//中文乱码,https://blog.csdn.net/XUANEER/article/details/108469640
var blob = new Blob(['\ufeff', s], { 'type': 'text/html' });
var url = URL.createObjectURL(blob);
window.open(url);

3.保存

调试工具,网络,另存为

相关推荐
前端青山2 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
从兄3 小时前
vue 使用docx-preview 预览替换文档内的特定变量
javascript·vue.js·ecmascript
清灵xmf4 小时前
在 Vue 中实现与优化轮询技术
前端·javascript·vue·轮询
薛一半6 小时前
PC端查看历史消息,鼠标向上滚动加载数据时页面停留在上次查看的位置
前端·javascript·vue.js
过期的H2O26 小时前
【H2O2|全栈】JS进阶知识(四)Ajax
开发语言·javascript·ajax
MarcoPage6 小时前
第十九课 Vue组件中的方法
前端·javascript·vue.js
你好龙卷风!!!6 小时前
vue3 怎么判断数据列是否包某一列名
前端·javascript·vue.js
shenweihong8 小时前
javascript实现md5算法(支持微信小程序),可分多次计算
javascript·算法·微信小程序
巧克力小猫猿8 小时前
基于ant组件库挑选框组件-封装滚动刷新的分页挑选框
前端·javascript·vue.js
嚣张农民9 小时前
一文简单看懂Promise实现原理
前端·javascript·面试