javascript - 当不是每个元素都有选择类 jquery 时选择第 nth-last-child

标签 javascript jquery html jquery-selectors

我正在寻找类似于 jQuery 中的以下 CSS4 选择器的东西: :nth-last-match(选择器)

我需要从元素列表中选择 second to last 元素,其中并非每个元素都有一个 class - 请看下面突出显示我希望的示例实现。

$('.select:nth-last-child(2)').addClass('selected');
.test.selected { color:red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div class="test">a</div>
<div class="test select">a</div>
<div class="test">a</div>
<div class="test select">a</div>
<div class="test">a</div>
<div class="test">a</div>
<div class="test select">EXPECTED SELECTION</div> //This element should be selected
<div class="test">a</div>
<div class="test select">a</div>
<div class="test">a</div>
</div>

非常感谢。

最佳答案

您可以使用 .get() 具有负参数 值的方法:

var expected = $('div .select').get(-2);
$(expected).css('background', 'red');

因此,.get(-1) 是该集合的最后一个元素,.get(-2) 是倒数第二个元素。
检查下面的片段

var expected = $('div .select').get(-2);
$(expected).css('background', 'red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div class="test">a</div>
  <div class="test select">a</div>
  <div class="test">a</div>
  <div class="test select">a</div>
  <div class="test">a</div>
  <div class="test">a</div>
  <div class="test select">EXPECTED SELECTION</div>
  <div class="test">a</div>
  <div class="test select">a</div>
  <div class="test">a</div>
</div>

关于javascript - 当不是每个元素都有选择类 jquery 时选择第 nth-last-child,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36345942/

相关文章:

javascript - Laravel 路由的 Javascript 中的全局变量 - 这是个好主意吗?

javascript - 当页面完全加载完成时显示 Webview?

javascript - 链接到 id 但导航栏在路上

jquery - 如何将 jquery ui 小部件嵌入到polymer-dart web 组件中

javascript - 当类在视口(viewport)中时显示元素

html - 使用 flexbox 如何在 div 下居中文本

php - 在 PHP 中使用带有 mail() 函数的 CSS

javascript - 如何在 JavaScript 中注册 window.external.notify 事件处理程序

javascript - TweenMax GSAP 没有动画,只能在 codepen 中使用?

javascript - 如何在 Javascript 中将 JSON 转换为数组