Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在div中找到具有相同类的最后两个元素并为它们分配一个类? 苹果 公共汽车 牛 狗 茄子 狐狸 山羊_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何在div中找到具有相同类的最后两个元素并为它们分配一个类? 苹果 公共汽车 牛 狗 茄子 狐狸 山羊

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

如何在“#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">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')