pubdate属性已废弃,浏览器不解析,queryselector('time[pubdate]')恒返回null;必须用合法iso格式的datetime属性配合语义结构和schema.org微数据标识发布时间。

pubdate 属性不能用来标记文章发布时间——它早已被标准废弃,浏览器完全不解析,写上等于没写。
pubdate 属性为什么查不到、不起作用
-
document.querySelector('time[pubdate]')永远返回null,因为现代浏览器(Chrome/Firefox/Safari/Edge)自 2014 年起就移除了对该属性的任何解析逻辑 - W3C HTML5.3 和 WHATWG Living Standard 均明确标注
pubdate为 obsolete(已废弃),标准文档里已无定义 - 即使你手写
<time pubdate datetime="2026-08-11">今天</time>,DOM 中连这个属性名都不会出现,timeEl.hasAttribute('pubdate')返回false
datetime 是唯一必须写的属性
datetime 才是 <time></time> 的语义核心,机器可读性、SEO、屏幕阅读器、日历导入全靠它:
- ✅ 正确(纯日期):
<time datetime="2026-08-11">今天</time> - ✅ 正确(带时区):
<time datetime="2026-08-11T14:30:00+08:00">下午2:30</time> - ❌ 错误(斜杠分隔):
<time datetime="2026/08/11">今天</time> - ❌ 错误(缺零填充):
<time datetime="2026-8-11">今天</time> - ❌ 错误(缺
T或时区):<time datetime="2026-08-11 14:30">下午2:30</time>
注意:服务端动态生成时,别用 toLocaleDateString() 或字符串拼接——本地时区 + 非 ISO 格式极易出错;应优先用 new Date().toISOString()(返回 UTC)或严格按 ISO 8601 格式构造。
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
如何让机器识别“这是发布时间”而非普通时间点
没有 pubdate,靠的是上下文 + 辅助信号:
- 把
<time></time>放在<article></article>或<header></header>内第一个位置,多数 CMS 和阅读器默认将其视为发布日期 - 避免在页脚、侧边栏重复放置另一个
<time></time>,否则可能被误判为更新时间或版权年份 - 加
aria-label="发布于 2026年8月11日"提升读屏体验(值必须与datetime一致) - 在
或<article></article>内加 Schema.org 微数据:<meta itemprop="datePublished" content="2026-08-11">,Google Rich Results Test 明确认可
真正容易被忽略的点是:很多人以为只要套个 <time></time> 标签就自动获得发布时间语义,其实关键不在标签本身,而在 datetime 是否合法、是否处于合理语境、是否有辅助信号支撑。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










