jQuery index()与所有可见的兄弟姐妹相关

我想获取与所有可见兄弟相关的元素索引。

td.index()确实将td的索引提取给所有其他td兄弟。

但是,当某些TD被设置为display:none 。 我想在计算索引时排除它们。 td.index(':visible')似乎不起作用。

 var $td = $("#theTD") $td.siblings(":visible").andSelf().index($td); 

以上应该做你要问的。 基本上获取要在其中搜索的元素集,然后获取元素的索引。

http://jsfiddle.net/3NYY9/

编辑:从jquery 1.8和andSelf已被弃用, addBack应该在其位置使用:

 var $td = $("#theTD") $td.siblings(":visible").addBack().index($td); 

http://jsfiddle.net/3NYY9/45/

CSS中的可见性和显示是完全不同的。 您要做的是将visibility属性设置为隐藏其他TD元素,而不是设置display:none