jQuery filter()遍历似乎不起作用?

jQuery filter()遍历似乎不起作用?,jquery,filter,traversal,Jquery,Filter,Traversal,我不知道这有什么问题 $('.post').live('mouseenter mouseleave', function() { $(this).filter('anything here,a,div,.class,#id').toggleClass('hidden'); }); 这样做很好 $('.post').live('mouseenter mouseleave', function() { $(this).toggleClass('h

我不知道这有什么问题

$('.post').live('mouseenter mouseleave', function() {  
         $(this).filter('anything here,a,div,.class,#id').toggleClass('hidden');
    });
这样做很好

$('.post').live('mouseenter mouseleave', function() {  
         $(this).toggleClass('hidden');
    });
有一个锚,我想显示在鼠标悬停。与Facebook类似(此)指的是您的
.post
元素

.filter()
删除与选择器不匹配的任何内容

因此,在给定的示例中,如果
.post
元素不是以下元素之一

'anything here,a,div,.class,#id'
它被过滤掉了

.filter()
不会遍历。它接受一个jQuery集,并将其缩减为与给定选择器匹配的元素


编辑:

在jQuery中有很多方法可以遍历

要获取作为接收事件的
.post
元素的后代的所有
a
元素,可以执行以下操作:

$(this).find('a');

使用哪种遍历方法取决于您的情况。

美元的上下文是什么(this)?您确定它包含您要筛选的内容吗?另外,您可能需要执行两次,一次用于打开,一次用于关闭,并显式使用“显示/隐藏”。如果光标移动得足够快,它可能会捕捉不到off;感谢您了解
$(此)
指接收事件的
.post
元素。要访问
$(this)
,可以执行
$(this)。查找('a')
。我会更新我的答案。