del标签的datetime属性必须严格遵循ISO 8601格式并加双引号,合法写法包括datetime="2024-03-15T14:30:00Z"或datetime="2024-03-15T22:30:00+08:00";错误写法如缺T、斜杠分隔、无时区或中文格式均被静默丢弃。

del 标签的 datetime 属性怎么写才合法
del 标签的 datetime 属性必须是符合 HTML 规范的日期时间字符串,不是随便填个“2024-01-01”就有效——它必须带时区信息或明确为 UTC。
- 正确写法:
datetime="2024-03-15T14:30:00Z"(UTC 时间,末尾Z表示零时区) - 也支持带偏移量:
datetime="2024-03-15T22:30:00+08:00"(北京时间,+08:00不可省略) - 错误写法:
datetime="2024-03-15"(缺时间部分)、datetime="2024/03/15"(斜杠格式不被识别)、datetime="今天下午2点"(非机器可解析)
浏览器根本不显示 datetime,那它有什么用
datetime 属性本身不会渲染成可见文字,也不影响样式——它纯粹是给机器读的元数据。实际用途集中在:辅助技术(如读屏软件可能播报删除时间)、爬虫提取语义、或后续 JS 脚本读取分析。
- JS 可以获取:
document.querySelector('del').dateTime(注意属性名是dateTime,不是datetime,大小写敏感) - 读屏软件(如 NVDA)在某些模式下会读出该时间,但行为因软件而异,不能当作 UI 保障
- SEO 场景中,搜索引擎理论上可利用该字段理解内容变更节奏,但目前无公开证据表明主流引擎直接使用它排名
为什么加了 datetime 却被 HTML 验证器报错
常见报错是 Bad value ... for attribute datetime on element del,基本都是格式踩坑。
- 漏掉
T:写成"2024-03-15 14:30"❌,必须是"2024-03-15T14:30"✅ - 秒数没补零:写成
"2024-03-15T14:30:5"❌,应为"2024-03-15T14:30:05"✅ - 用了中文标点或空格:比如
datetime="2024-03-15T14:30:00 Z"❌(空格破坏格式) - 值是变量拼接但没校验:JS 动态生成时用
new Date().toISOString()最稳,避免手拼
要不要给每个 del 都加 datetime
没必要。只有当删除动作本身具有明确、可追溯的时间语义时才加——比如法律文档修订、合同条款废止、价格更新日志。普通页面删个错别字,硬加反而增加维护负担和 DOM 噪声。
立即学习“前端免费学习笔记(深入)”;
- 静态页面中,手动维护
datetime容易过期失真(比如改了文案却忘了改时间) - 服务端渲染时,建议从真实操作日志里取时间戳,而非用部署时间或当前时间
- 如果只是想让用户看到“已删除(2024年3月15日)”,直接用文字说明更可靠,
del+datetime不解决显示问题
del 元素的语义解析。



















