0

我最近发布了问题Get Next Element that is Visible and Does Not Have Attribute,其中我询问了如何获取下一个既可见又没有属性的同级元素id='count-me-out'

结果是以下语法似乎很好用:

var trNext = $(tr).nextAll('tr:visible:not("#count-me-out"):first');

我现在对此有一个变体,我想使用完全相同的过滤器,只是如果它通过过滤器,我想返回当前元素(在上面的示例中)。tr如果没有,那么我想继续查看下一个。换句话说,除了从当前元素而不是下一个元素开始之外,它的工作方式与上面的行完全相同。

我想一种方法是用来prev()获取前一个兄弟,然后使用上面的行来获取下一个匹配的。谁能说有没有更好的方法?

4

1 回答 1

1

尝试

 var trNext;
 if ($(tr).is('tr:visible:not("#count-me-out")')){
     trNext = tr;
 }
 else{
     trNext = $(tr).nextAll('tr:visible:not("#count-me-out"):first');
 }

http://api.jquery.com/is/

于 2013-01-07T02:15:07.967 回答