尝试通过className获取元素;似乎不起作用

Trying to get element by className doesn't seem to be working

本文关键字:不起作用 元素 获取 className      更新时间:2024-03-05

尝试将动态年份注入HTML代码。

使用getElementById可以很好地工作,但getElementsByClassName似乎不起作用。

这是我的密码。。。

HTML

<p>this year is <span class="year"></span></p>

JAVASCRIPT

document.getElementsByClassName("year").innerHTML = new Date().getFullYear();

很想看看我做错了什么。

使用此方法可以获得一个元素数组。要访问第一个元素,请写下:

document.getElementsByClassName("year")[0].innerHTML = new Date().getFullYear();

getElementsByClassName函数返回一个HTMLCollection对象。

您可以使用与数组相同的语法访问集合中的每个元素:

var yearCollection = document.getElementsByClassName("year");
yearCollection[0].innerHTML = new Date().getFullYear();

也可以使用querySelectorquerySelectorAll来检索图元。

使用querySelector,我认为结果更可读:

document.querySelector(".year").innerHTML = new Date().getFullYear();

querySelectorquerySelectorAll使用CSS选择器来获取DOM中的元素。

有关快速性能比较,请参阅:http://jsperf.com/selection-amdg2-azfne65