如何使用纯JavaScript获取第二个time标签内的文本内容?
获取第二个time标签的文本内容
问题场景
现有两个<time>标签,需要提取第二个标签内的文本内容,相关HTML片段如下:
<time class="updated" datetime="2022-09-14T00:54:04+05:30" itemprop="dateModified">14th September 2022</time> <time class="entry-date published" datetime="2022-02-09T18:35:52+05:30" itemprop="datePublished">9th February 2022</time>
原JS代码存在拼写错误,无法正确获取内容,以下是两种可行的解决方法:
方法一:通过目标class直接获取
第二个<time>标签带有唯一的entry-date published类名,可直接定位:
// 注意方法名是getElements(复数),返回元素集合,取索引0获取目标元素 var secondTimeText = document.getElementsByClassName("entry-date published")[0].textContent; document.write(secondTimeText); // 输出:9th February 2022
方法二:选中所有time标签后取第二个
如果需要按标签顺序获取,可先选中所有<time>标签,再通过索引1(从0开始计数)获取第二个:
var allTimeTags = document.querySelectorAll("time"); var secondTimeText = allTimeTags[1].textContent; document.write(secondTimeText); // 输出:9th February 2022
原代码问题说明
原代码中document.getElementByClassName是拼写错误,正确方法名为document.getElementsByClassName(复数形式),该方法返回HTMLCollection类型的元素集合,必须通过索引指定具体元素后才能访问textContent属性。
内容的提问来源于stack exchange,提问作者Mayuresh Deshmukh
相关产品推荐
相关产品推荐

