我一直在寻找答案,但是找到的答案似乎无法解决我的问题。

我想获得与此相同的功能:

$('.navlistitem > a:contains("Products"), .dropdown.productmenu').hover(function(){
    showThis.call($(productMenu));
}, function(){
    hideThis.call($(productMenu));
});

通过为第二个选择器使用变量,如下所示:
var productMenu = $('.dropdown.productmenu');

$('.navlistitem > a:contains("Products")', productMenu).hover(function(){
    showThis.call($(productMenu));
}, function(){
    hideThis.call($(productMenu));
});

productMenu是应该出现的滑行菜单,并且与第一个示例相同。但是我不能让它与第二个一起使用。如何选择“.navlistitem> a:contains(“Products”)”或名为productMenu的变量?

提前致谢!

最佳答案

$('.navlistitem > a:contains("Products"), .dropdown.productmenu').hover(function(){

是相同的
$('.navlistitem > a:contains("Products")').hover(function(){...

$('.dropdown.productmenu').hover(function(){...

或更确切地说
$('.navlistitem > a:contains("Products")')
.add('.dropdown.productmenu').hover(function(){...


$('.navlistitem > a:contains("Products")', productMenu).hover...

是相同的
productMenu.find('.navlistitem > a:contains("Products")').hover...

这意味着它是productMenu的子元素

使用此
$('.navlistitem > a:contains("Products")')
.add(productMenu).hover(function(){...

productMenu.add('.navlistitem > a:contains("Products")').hover(function(){...

08-25 17:29