Javascript 我正在试图找到这段代码中的错误
HTML是:Javascript 我正在试图找到这段代码中的错误,javascript,drop-down-menu,menu,Javascript,Drop Down Menu,Menu,HTML是: <ul id="menu-tester" class="paper-box"> <li id="menu-item-308" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-308">Close Board Fencing</li> <ul class="sub-menu"> <li id="menu-i
<ul id="menu-tester" class="paper-box">
<li id="menu-item-308" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-308">Close Board Fencing</li>
<ul class="sub-menu">
<li id="menu-item-313" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-313">Close Board Fencing Panels</li>
</ul>
</ul>
javascipt是:
$("ul.menu").find('> li').hover(
function() {
$(this).find('> ul').slideDown();
},
function() {
$(this).find('> ul').hide();
}
);
$("ul.sub-menu").find('> li').on('click', function() {
$(this).find('> ul').slideDown();
},
function() {
$(this).find('> ul').hide();
}
);
我似乎无法让它工作,请也看到下面的JSFIDLE链接
提前非常感谢您是想使用jQuery v1.4.2吗?on方法当时可能不可用。请尝试使用.bind(),或者在您的小提琴中更新到jQ的较新版本。我看到的第一个问题是类
菜单中没有ul
这意味着$(“ul.menu”)
永远不会开火
我还有几个其他的建议给你,但首先我需要你回答上面的评论。欢迎来到StackOverflow。要得到答案,你需要问一个问题。预期的行为是什么?观察到的行为是什么?您尝试了什么?检查了控制台中的错误吗?语法的JSLint?您选择的jQuery版本似乎没有关于
方法的。我发现有两件事不对,首先,ul.menu在哪里?第二,应该嵌套在li中吗?这应该会清除错误,但根据引用的位置,jQ选择器中可能也会有一些范围问题。
$("ul.menu").find('> li').hover(
function() {
$(this).find('> ul').slideDown();
},
function() {
$(this).find('> ul').hide();
}
);
$("ul.sub-menu").find('> li').on('click', function() {
$(this).find('> ul').slideDown();
},
function() {
$(this).find('> ul').hide();
}
);