【发布时间】:2016-09-20 00:00:42
【问题描述】:
我正在使用 jQuery 创建简单的投资组合并显示带有 next before 选项的视图灯箱。
当用户点击某个项目时,我需要获取项目的索引,但只考虑可见元素。
点击后我采取
$(this).parents("li").filter(":visible").index();
但计算隐藏元素。
我怎样才能让索引只计算可见元素?
【问题讨论】:
标签: javascript jquery html css
我正在使用 jQuery 创建简单的投资组合并显示带有 next before 选项的视图灯箱。
当用户点击某个项目时,我需要获取项目的索引,但只考虑可见元素。
点击后我采取
$(this).parents("li").filter(":visible").index();
但计算隐藏元素。
我怎样才能让索引只计算可见元素?
【问题讨论】:
标签: javascript jquery html css
你可以这样使用,
var parents = $(this).closest(".portfolio-items").find("li:visible");
var parent = $(this).closest("li");
alert(parents.index(parent));
这将根据元素集返回传递项的索引。
【讨论】:
我发现了类似的问题
var projectIndex = $("#grid li").filter(function() {
return !($(this).css('visibility') == 'hidden' || $(this).css('display') == 'none');
}).index(item) + 1;
item 是保存被点击元素的变量。
我希望这对某人有用。
【讨论】: