Javascript 如何在div中找到具有相同类的最后两个元素并为它们分配一个类? 苹果 公共汽车 牛 狗 茄子 狐狸 山羊
如何在“#main container”中找到最后两个“.box”,然后为它们分配特定的类 关于你的具体问题Javascript 如何在div中找到具有相同类的最后两个元素并为它们分配一个类? 苹果 公共汽车 牛 狗 茄子 狐狸 山羊,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何在“#main container”中找到最后两个“.box”,然后为它们分配特定的类 关于你的具体问题 <div id="main-container"> <div class="box">apple</div> <div class="box">bus</div> <div class="box">cattle</div> <div class="box">do
<div id="main-container">
<div class="box">apple</div>
<div class="box">bus</div>
<div class="box">cattle</div>
<div class="box">dog</div>
<div class="box">eggplant</div>
<div class="box">fox</div>
<div class="box">goat</div>
</div>
但是,正如PitaJ所说,如果您愿意传达,可能有更好的方法来实现您的实际目标。使用
slice
方法获取最后两个子元素,然后添加您想要的特定类
var main = document.getElementById('main-container');
var boxes = main.getElementsByClassName('box');
boxes[boxes.length - 2].className += ' a-class'; // 2nd to last
boxes[boxes.length - 1].className += ' a-class'; // last
您可以使用css选择器选择最后两个框,即第n个最后一个子框:
.box:n最后一个子项(-n+2){}
浏览器支持IE9+您可能需要提供一些上下文。也许有更好的方法来做你正在做的事情。也许这个问题的答案会有所帮助:@PitaJ基本上是一个模板正在用类“box”生成div,我无法控制它。不过,我知道最后两个。我不需要展示的盒子。所以我需要的是找到它们。你应该说你想要一个jQuery答案。我不记得标签上写着jQuery,否则我会给出一个jQuery答案。不管怎样,我想这两个答案在将来都会有用。我认为直到我回答之后,他才添加jQuery标记。
$('#main-container .box').slice(-2).addClass('someclass')