jQuery 悬停(或不悬停)隐藏元素的目标父元素
jQuery target parent of hidden element on hover (or not)
我正在尝试将一个 class(或 CSS)添加到一个 a
,一个隐藏的 ul
的父级,当 grand -parent li
悬停。
不能直接改代码得到结果,所以需要jQuery.
代码如下:
HTML
<nav class="main-menu">
<ul>
<li>
<a>
<ul class="sub-menu">
CSS
.main-menu .sub-menu {display: none;}
.main-menu li:hover .sub-menu {display: block;}
.hovered {color: red;}
这是我正在尝试使用 jQuery,但它不起作用:
jQuery
jQuery(".nm-main-menu ul.sub-menu).hover(function(){
jQuery(this).parent().addClass("hovered");
});
这里全是fiddle.
也许 .hover()
不是正确的选择...
请帮忙。
jQuery(".nm-main-menu ul.sub-menu").hover(function(){
jQuery(this).parent().addClass("hovered");
});
您错过了选择器中的双引号。它的工作。
Fiddle: https://jsfiddle.net/gyowv1dx/1/
$(".nm-main-menu ul.sub-menu").hover(function(){
$(this).parent().addClass("hovered");
});
使用 $ 而不是 jQuery 并遗漏双引号
您在 jquery 选择器的末尾漏掉了一个双引号。您也可以仅使用 $ 访问 jquery。
这是修改后的 fiddle
$(".main-menu ul.sub-menu").hover(function(){
$(this).parent().addClass("hovered");
});
不仅您缺少双引号,而且还错误地将 class 名称 .nm-main-menu
而不是 .main-menu
。确保您应该通过 console.log
或 [= 进行测试14=]
jQuery(".main-menu ul.sub-menu").hover(function(){
console.log("Working"); //alert("Working");
jQuery(this).parent().addClass("hovered");
});
我正在尝试将一个 class(或 CSS)添加到一个 a
,一个隐藏的 ul
的父级,当 grand -parent li
悬停。
不能直接改代码得到结果,所以需要jQuery.
代码如下:
HTML
<nav class="main-menu">
<ul>
<li>
<a>
<ul class="sub-menu">
CSS
.main-menu .sub-menu {display: none;}
.main-menu li:hover .sub-menu {display: block;}
.hovered {color: red;}
这是我正在尝试使用 jQuery,但它不起作用:
jQuery
jQuery(".nm-main-menu ul.sub-menu).hover(function(){
jQuery(this).parent().addClass("hovered");
});
这里全是fiddle.
也许 .hover()
不是正确的选择...
请帮忙。
jQuery(".nm-main-menu ul.sub-menu").hover(function(){
jQuery(this).parent().addClass("hovered");
});
您错过了选择器中的双引号。它的工作。
Fiddle: https://jsfiddle.net/gyowv1dx/1/
$(".nm-main-menu ul.sub-menu").hover(function(){
$(this).parent().addClass("hovered");
});
使用 $ 而不是 jQuery 并遗漏双引号
您在 jquery 选择器的末尾漏掉了一个双引号。您也可以仅使用 $ 访问 jquery。 这是修改后的 fiddle
$(".main-menu ul.sub-menu").hover(function(){
$(this).parent().addClass("hovered");
});
不仅您缺少双引号,而且还错误地将 class 名称 .nm-main-menu
而不是 .main-menu
。确保您应该通过 console.log
或 [= 进行测试14=]
jQuery(".main-menu ul.sub-menu").hover(function(){
console.log("Working"); //alert("Working");
jQuery(this).parent().addClass("hovered");
});