怎么在不用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.8k
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;
推荐问题