如何在hover时更改父的样式
我有一个WordPress站点(在我的localhost上),它使用
- 作为自定义菜单。 只有在具有
子菜单的情况下,如何在hover时更改
的CSS?
所有主菜单项都有border-radius,我想在当前项目(下面的Services)上删除它,例如:
我找不到CSS解决方案,我也尝试过jQuery:
$('ul.sub-menu').parent().hover(function(){ $(this).addClass('no-radius'); });
$('.menu li').has('ul').hover(function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); });
$(".menu LI").hover( function() { if ($("UL", $(this)).length > 0) { $(this).addClass("no-radius"); } }, function() { $(this).removeClass("no-radius"); } );
这有用吗:
$( “礼”)。hover(函数(){ if($(this).parent()。hasClass(“sub-menu”){ $(this).css(“color”,“red”); } });
$('ul.sub-menu').parent().hover(function(){ $(this).parent().addClass('no-radius'); });
您始终可以使用console.debug($(this))来检查您正在访问的元素
$('li>ul.sub-menu').hover(function() { $(this).addClass('no-radius'); }, function() { $(this).removeClass('no-radius'); });
在您的解决方案中, this
指的是ul
项而不是其父项。
相反,这段代码检查是否有任何li
具有带有class = sub-menu
的ul
的直接sub-menu
,然后将所需的类应用于li
元素。
希望能帮助到你,
干杯!