del标签的datetime属性仅用于机器可读,无渲染和语义影响;必须严格遵循ISO 8601格式(如"2024-03-15T14:30:00Z"),否则被静默丢弃;需用JavaScript验证解析结果,不触发样式或行为。

del 标签的 datetime 属性到底有没有用?
没有实际渲染效果,也不影响语义解析,浏览器完全忽略它——datetime 只是为机器可读提供时间线索,比如爬虫、无障碍工具或未来可能的数据提取场景。你写不写,页面看起来都一样。
datetime 值必须符合 ISO 8601 格式,否则无效
常见错误是随手写 "2024-03-15 14:30" 或 "15/03/2024",这些会被浏览器静默丢弃。有效格式只有一种:带时区信息的完整 ISO 时间字符串。
-
datetime="2024-03-15T14:30:00Z"(UTC 时间,推荐) -
datetime="2024-03-15T14:30:00+08:00"(东八区时间,也合法) -
datetime="2024-03-15"(只有日期,允许但不推荐,缺失时间精度) - 不能省略
T和时区标识,"2024-03-15 14:30:00"是无效值
怎么验证 datetime 是否被正确解析?
不能靠肉眼,得查 DOM 属性或用 JS 读取:
const delEl = document.querySelector('del');
console.log(delEl.dateTime); // 返回解析后的 Date 字符串(如 "2024-03-15T14:30:00.000Z")
console.log(delEl.getAttribute('datetime')); // 返回原始字符串
如果 delEl.dateTime 是空字符串或 Invalid Date,说明格式不对。
立即学习“前端免费学习笔记(深入)”;
别指望它触发任何行为或样式变化
datetime 不是事件源,不参与 CSS 选择器(del[datetime] 虽能匹配,但无法按时间值筛选),也不影响 ARIA 或屏幕阅读器播报内容。它纯粹是元数据,就像 title 一样安静。
真正需要时间感知逻辑时,得自己用 JS 解析 getAttribute('datetime'),再做判断或渲染——浏览器不会帮你做这件事。



















