怎么在不用jq的情况下选择无某类名的最后一个元素

新手上路,请多包涵

如下,我想用css拿到d7,前提是one_d是不固定的,我不知道哪几个有one_d

<div class="all_d d1"></div>
<div class="all_d d2"></div>
<div class="all_d d3"></div>
<div class="all_d d4"></div>
<div class="all_d d5 one_d"></div>
<div class="all_d d6"></div>
<div class="all_d d7"></div>
<div class="all_d d8 one_d"></div>
<div class="all_d d9 one_d"></div>

只用css能拿到吗

阅读 1.7k
2 个回答

用:not就好了。选择所有“one_d”以外的元素,然后选最后一个

$('.all_d:not(.one_d)').last()

假设这些元素都是某个父元素(parent)的子元素

var child = parent.firstChild;
var result;
while (child) {
  if (child.nodeType === 1 && child.className.indexOf('one_d') === -1) {
    result = child;
  }
  child = child.nextSibling;
}
// result 即为结果
result;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题