jquery搜索特定元素并添加类

jquery搜索特定元素并添加类,jquery,css,find,element,addclass,Jquery,Css,Find,Element,Addclass,我想在jquery(或CSS3?!)中找到一种方法来检查all.vertical类元素,如果有另一个元素具有相同的class.vertical之前或之后 请检查,我想在提到的元素上添加一个.solo类: <figure> <figure class="vertical" ADD SOLO CLASS> <p> <figure> <h1> <p> <figure class="vertical"> <figu

我想在jquery(或CSS3?!)中找到一种方法来检查all.vertical类元素,如果有另一个元素具有相同的class.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>




非常感谢您的帮助。

一种可能的方法:

$('.vertical').filter(function() {
  var $this = $(this);
  if (!
    ( $this.next().is('.vertical') || $this.prev().is('.vertical') )
  ) {
    $this.addClass('solo');
  }
});
。请注意更改:我已经关闭了所有这些
元素(以及其他一些元素,如
),因为它们与
不同,它们确实需要关闭标记

var not = $('.vertical + .vertical');
$('.vertical').not(not.add(not.prev())).addClass('solo');

我认为这是一种$(.this)类型;谢谢。)是的,输入错误。那是完全无效的标记?没有一个元素是闭合的?