Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
这是我的标记:
作为简单的二进制光学翻译,这将是:
-xxx-x--
我要确定的是,包含类“已标记”的元素组/范围是否具有至少一个没有类“已标记”的元素的间隙。
有什么想法是最好的方法?
谢谢
实际上,
示例:https://jsfiddle.net/bneen5rc/2/
如果您要查找元素:
示例:https://jsfiddle.net/bneen5rc/3/
想改善这个问题吗?添加详细信息并通过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