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 小时前
实现最大异步并发执行队列
javascript
知识分享小能手3 小时前
React学习教程,从入门到精通,React 组件核心语法知识点详解(类组件体系)(19)
前端·javascript·vue.js·学习·react.js·react·anti-design-vue
蚂蚁RichLab前端团队4 小时前
🚀🚀🚀 RichLab - 花呗前端团队招贤纳士 - 【转岗/内推/社招】
前端·javascript·人工智能
萌萌哒草头将军4 小时前
Oxc 和 Rolldown Q4 更新计划速览!🚀🚀🚀
javascript·vue.js·vite
Qlittleboy4 小时前
uniapp如何使用本身的字体图标
javascript·vue.js·uni-app
林_深时见鹿5 小时前
Vue + ElementPlus 自定义指令控制输入框只可以输入数字
前端·javascript·vue.js
GDAL5 小时前
Knockout.js 任务调度模块详解
javascript·knockout
椒盐螺丝钉5 小时前
Vue组件化开发介绍
前端·javascript·vue.js
koooo~5 小时前
v-model与-sync的演变和融合
前端·javascript·vue.js
GW_Cheng5 小时前
分享一个vue2的tinymce配置
开发语言·javascript·ecmascript