我正在寻找jquery(或CSS3?!)中的一种方法来检查所有.vertical类元素,如果在OR之前有另一个具有相同类.vertical的元素。
请检查,我想在提到的元素上添加.solo类:
<figure>
<figure class="vertical" ADD SOLO CLASS>
<p>
<figure>
<h1>
<p>
<figure class="vertical">
<figure class="vertical">
<figure>
<p>
<figure class="vertical">
<figure class="vertical">
<figure class="vertical">
<figure>
<figure class="vertical">
<figure class="vertical">
<figure>
<figure class="vertical" ADD SOLO CLASS>
<figure>
<figure>
非常感谢你的帮助。
答案 0 :(得分:1)
一种可能的方法:
$('.vertical').filter(function() {
var $this = $(this);
if (!
( $this.next().is('.vertical') || $this.prev().is('.vertical') )
) {
$this.addClass('solo');
}
});
Demo。请注意更改:我已将所有<figure>
元素(以及其他一些元素,如<h1>
)关闭,因为与<p>
不同,它们确实需要结束标记。
答案 1 :(得分:0)
var not = $('.vertical + .vertical');
$('.vertical').not(not.add(not.prev())).addClass('solo');