我有一个菜单结构,子菜单作为嵌套列表存在,如
<nav>
<ul>
<li class="itm">A
<ul>
<li>One</li>
<li>Two
<ul>
<li>Menu Item</li>
<li> Menu Item </li>
<li> Menu Item </li>
</ul>
</li>
<li> Three </li>
<li> Four </li>
</ul>
</li>
<li class="icon"><span class="img"></span></li>
<li class="itm">B</li>
<li class="itm">C</li>
</ul>
</nav>
Nowi想要在光标悬停在父li
上时显示子菜单(子列表),为此我要这样做:
$('nav ul li').hover(function () {
console.log(this);
$(this > ul).fadeIn();
}, function () {
$(this > ul).fadeOut();
});
但是在悬停时它会在JS控制台中显示此错误:Uncaught ReferenceError: ul is not defined
答案 0 :(得分:2)
您的选择器正在组合this
,它是一个文字,应该是选择器中的字符串(> ul
)。 ul
被视为变量,ul
变量不存在。
试试这个:
$(this).children('ul').fadeIn();