我正在尝试将一个类(或CSS)添加到a
,这是隐藏ul
的父级,它会在祖父li
悬停时显示。
我无法直接更改代码以获得结果,因此我需要jQuery
代码如下:
<nav class="main-menu">
<ul>
<li>
<a>
<ul class="sub-menu">
.main-menu .sub-menu {display: none;}
.main-menu li:hover .sub-menu {display: block;}
.hovered {color: red;}
这就是我正在尝试使用jQuery,但它不起作用:
jQuery(".nm-main-menu ul.sub-menu).hover(function(){
jQuery(this).parent().addClass("hovered");
});
这里全是fiddle
也许.hover()
不是可行的方式......
请帮忙。
答案 0 :(得分:2)
jQuery(".nm-main-menu ul.sub-menu").hover(function(){
jQuery(this).parent().addClass("hovered");
});
你错过了选择器内的双引号。它正在工作。
答案 1 :(得分:1)
你在jquery选择器的最后错过了双引号。你也可以通过使用$来访问jquery。 这是修改过的小提琴
$(".main-menu ul.sub-menu").hover(function(){
$(this).parent().addClass("hovered");
});
答案 2 :(得分:0)
$(".nm-main-menu ul.sub-menu").hover(function(){
$(this).parent().addClass("hovered");
});
使用$代替jQuery而错过双引号
答案 3 :(得分:0)
不仅缺少双引号而且错误地将类名.nm-main-menu
放在.main-menu
上。确定您应该按console.log
或alert
进行测试
jQuery(".main-menu ul.sub-menu").hover(function(){
console.log("Working"); //alert("Working");
jQuery(this).parent().addClass("hovered");
});