Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        3年前关闭。
                                                                                            
                
        
这是我的标记:

<div class='seat'></div>
<div class='seat marked'></div>
<div class='seat marked'></div>
<div class='seat marked'></div>
<div class='seat'></div>
<div class='seat marked'></div>
<div class='seat'></div>
<div class='seat'></div>


作为简单的二进制光学翻译,这将是:
-xxx-x--

我要确定的是,包含类“已标记”的元素组/范围是否具有至少一个没有类“已标记”的元素的间隙。
有什么想法是最好的方法?

谢谢

最佳答案

如果您只是想检查是否存在间隙,则可以执行以下操作:

$('.marked').nextUntil(":not(.marked)").length == ($('.marked').length - 1)


实际上,nextUntil会依次为您提供项目,同时使用.marked运算符将:not从选择器中排除。

示例:https://jsfiddle.net/bneen5rc/2/

如果您要查找元素:

var matchFound = false;
var firstInstance = false;
$('div').each(function()
{
   if($(this).hasClass('marked') && $(this).hasClass('seat'))
   {
      matchFound = true;
      firstInstance = true;
   }
   else
     matchFound = false;

     if(!matchFound && firstInstance)
     {
       console.log("marked sequence changed");
       return false;
     }

});


示例:https://jsfiddle.net/bneen5rc/3/

10-08 11:47