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 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
柳杉7 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau7 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生7 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
进击的尘埃7 小时前
AI 代码审查工具链搭建:用 AST 解析 + LLM 实现自动化 Code Review 的前端工程方案
javascript
juejin_cn8 小时前
[转][译] 从零开始构建 OpenClaw — 第五部分(对话压缩)
javascript
willow9 小时前
Promise由浅入深
javascript·promise
董员外9 小时前
LangChain.js 快速上手指南:Tool的使用,给大模型安上了双手
前端·javascript·后端
willow10 小时前
Generator与Iterator
javascript
wuhen_n10 小时前
Pinia状态管理原理:从响应式核心到源码实现
前端·javascript·vue.js