这是我的平面设计组合网站,我的过滤器遇到了一些麻烦。我用jQuery和类创建了它。当点击某个链接时,它会隐藏所有不是它的“.tags”。所有这一切都正常。 (第5-19行)
从第21行开始,我创建了一个在项目下面动态添加div和内容的函数。它查找存在多少元素,当前元素的位置,并找到新div应插入的位置(在3列行的末尾)。所有这一切都可以正常使用。
问题是,当某些'.tags'被过滤时,第二个函数无法正确找到当前元素的位置。这是因为我实际上并没有从中删除元素源代码,只是隐藏它们 - 我想保持这种方式,所以我不需要继续重新加载内容。
var portfolio = '#portfolio > a';
var elements = $(portfolio).children(':visible').length; //finds how many elements are in the portfolio
var getPosition = $(portfolio).siblings('a :visible').addBack().index(this); //find the position of the div
以上代码是问题区域(第25-26行),但这里是整个代码供参考:http://jsfiddle.net/cQUMs/5/
我的变量元素无论是否使用过滤器,都可以轻松获取正确数量的元素。 getPosition 在过滤任何内容之前获得正确的位置,但保留该数字;我需要它动态更新。
答案 0 :(得分:0)
问题在于,您要编入索引的this
是a
元素。所以试试这个(updated demo):
//find the position of the div
var getPosition = $(portfolio).children(':visible').index( $(this).children() );