假设我有一个简单的HTML标记,其中包含三个元素和一个浏览所有元素的javascript循环。我需要做的是选择最后一个项目。
这堆代码将运行一个循环,用some_div
类选择所有元素,并在其中粘贴一些文本...
如果我只想要选择和更改列表中的最后一项,该怎么办?
有没有办法让我只选择循环中的最后一项,然后做一些操作,比如在这个确切的元素中添加一个特定的类?
var elements = document.getElementsByClassName('some_div');
for (var i=0; i<elements.length; i++) {
elements[i].innerHTML = 'hello';
}
.some_div {
height: 30px;
width: 100px;
border-bottom: solid 2px black;
}
<body>
<div class="some_div"></div>
<div class="some_div"></div>
<div class="some_div"></div>
</body>
选择班级的最后一场比赛(例如,使用CSS选择器)很尴尬,但您可以轻松访问最后一场比赛:
var elements = document.getElementsByClassName('some_div');
var last = elements[elements.length - 1];
if (last) {
last.innerHTML = 'hello';
}
实例:
var elements = document.getElementsByClassName('some_div');
var last = elements[elements.length - 1];
if (last) {
last.innerHTML = 'hello';
}
.some_div {
height: 30px;
width: 100px;
border-bottom: solid 2px black;
}
<body>
<div class="some_div"></div>
<div class="some_div"></div>
<div class="some_div"></div>
</body>
¹(或不可能?:nth-last-of-type
适用于元素类型,而非类......)
由于elements
是一个类似数组的对象,因此您可以轻松索引最后一项
const elements = document.getElementsByClassName('some_div');
if(elements.length > 0){
const lastElement = elements[elements.length-1]
}