如何仅考虑可见元素来获取当前元素的索引?

时间:2016-05-23 07:45:27

标签: javascript jquery html css

我使用jQuery创建简单的投资组合,并在下一个选项之前显示视图灯箱。

当用户点击某个项目时,我需要获取项目的索引,但只考虑可见元素。

点击后我拿

$(this).parents("li").filter(":visible").index();

但计算隐藏的元素。

如何让索引只计算可见元素?

2 个答案:

答案 0 :(得分:0)

你可以这样使用,

  var parents = $(this).closest(".portfolio-items").find("li:visible");
  var parent = $(this).closest("li");
  alert(parents.index(parent));

这将根据元素集返回pass项的索引。

Fiddle

答案 1 :(得分:0)

我发现了类似的问题

http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp#using-a-proxy

var projectIndex = $("#grid li").filter(function() {
            return !($(this).css('visibility') == 'hidden' || $(this).css('display') == 'none');
        }).index(item) + 1;

item 是包含点击元素的变量。

我希望对某人有用。