【问题标题】:JQuery, how to select elements based on their position relative to siblings?JQuery,如何根据元素相对于兄弟姐妹的位置来选择元素?
【发布时间】:2018-04-02 04:36:43
【问题描述】:
<img class="a"/>
<img class="a"/>
<img class="a"/>
<img class="b"/>
<img class="a"/>
<img class="a"/>
<img class="c"/>
我不想选择所有.a。但我想选择除.a 以外的元素之前的所有.a - 所以在这种情况下,我想选择第三个和第六个img。
【问题讨论】:
标签:
jquery
html
dom
css-selectors
【解决方案1】:
- 选择具有类
a 的图像,其直接兄弟是没有类a 的图像
- 选择上一个元素(图像)
- 做点什么:
$('img.a + :not("img.a")').prev().addClass('foo')
$('img.a + :not("img.a")').prev().addClass('foo')
.foo {
border: 5px solid #faa;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img class="a" src="http://www.placehold.it/100x100" />
<img class="a" src="http://www.placehold.it/100x100" />
<img class="a" src="http://www.placehold.it/100x100" />
<img class="b" src="http://www.placehold.it/100x100" />
<img class="a" src="http://www.placehold.it/100x100" />
<img class="a" src="http://www.placehold.it/100x100" />
<img class="c" src="http://www.placehold.it/100x100" />