我是一个完整的jQuery新手(很好的网络编码新手来),我很高兴你可以轻松地做多少。我完全坚持这一点,并希望得到任何帮助。
我有一个带有颜色样本列表的ul。然后我通过显示和隐藏来过滤这些。将鼠标悬停在一个样本上时,我需要更改可见的下一个兄弟样本的类。这实现了它,直到我隐藏任何东西:
$('+ li', this).toggleClass('swatchroll-sister');
就像这样
$(this).next().toggleClass('swatchroll-sister');
然而,一旦隐藏了这些东西,那么就改变隐藏元素的类,而不是下一个可见元素。我认为:可见选择器是我需要的,但我已经尝试过把它放在任何地方而且无法让它工作。我试过的一些事情:
$('+ li:visible', this).next().toggleClass('swatchroll-sister');
$(this).next('li:visible').toggleClass('swatchroll-sister');
$('+ li', this).toggleClass('swatchroll-sister');
$('+ li', this).('item:visible').toggleClass('swatchroll-sister');
所以我的问题可能是“我在哪里放置:可见选择器?”但也许这是开始的错误方法?谢谢你的任何指示。
答案 0 :(得分:3)
如果没有看到您的确切代码,我只能建议:
$('li').click(
function(){
var i = $(this).index('li:visible');
var nextVisible = $(this).closest('ul').find('li:visible').eq(i+1);
$(nextVisible).addClass('classNameToAdd');
});
请注意,选择器传递给index()
方法,该方法在选择器返回的元素中查找当前元素的索引,在本例中为li:visible
。
参考文献: