Javascript JQuery选择器问题(我认为)
我有下面的脚本Javascript JQuery选择器问题(我认为),javascript,jquery,menu,Javascript,Jquery,Menu,我有下面的脚本 <script type="text/javascript"> $(document).ready(function () { var ChildMenusFound = $(".menu_Child").hover(function () { //Mouse Over alert('ok'); $(this).toggleClass("me
<script type="text/javascript">
$(document).ready(function () {
var ChildMenusFound = $(".menu_Child").hover(function () {
//Mouse Over
alert('ok');
$(this).toggleClass("menu_hover");
}, function () {
//Mouse Out
alert('ok');
$(this).toggleClass("menu_hover");
});
});
</Script>
$(文档).ready(函数(){
var ChildMenusFound=$(“.menu_Child”).hover(函数(){
//滑过
警报(“正常”);
$(this.toggleClass(“菜单悬停”);
},函数(){
//耗竭
警报(“正常”);
$(this.toggleClass(“菜单悬停”);
});
});
我输出的html如下所示:
<ul alt="" class="menu_Root">
<li class="menu_Child>"
<a href="/Admin" alt="">Admin</a>
<ul alt="" class="menu_Child">
<li class="menu_SubMenu>"
<a href="/Admin/Statistics" alt="">Statistics</a></li>
<li class="menu_SubMenu>"
<a href="/Admin/Database" alt="">Database</a></li>
</ul></li>
<li class="menu_Child>"
<a href="/MyAccount" alt="">My Account</a>
<ul alt="" class="menu_Child">
<li class="menu_SubMenu>"
<a href="/MyAccount/Profile" alt="">Profile</a></li>
</ul></li>
</ul>
你的标记被破坏了。标签外有引号。看起来您在第一个外部
的某个地方丢失了一个
,但很难说。您的HTML有点不对劲,您的类未关闭(或错误关闭)如下:
<li class="menu_Child>"
^ here
$(function () {
$(".menu_Child").hover(function () {
$(this).toggleClass("menu_hover");
});
});
通过向传递一个回调,它在两个输入/输出方向上都被调用,并且由于您正在切换,因此可以在此处保存代码。其他答案注意到您的HTML标记已损坏
一个要考虑的事情是使用CSS而不是JavaScript来执行<代码>悬停< /代码>。除非它位于
元素上,否则它在IE6中不起作用,但在大多数其他浏览器中都会起作用
.menu_Child {
background: yellow;
}
.menu_Child:hover {
background: orange;
}
不确定要达到什么效果,但如果可以将悬停的元素更改为
,它也可以在IE6中工作。小心,您有两个字符:
<li class="menu_Child>"
该死的,谢谢。我花了很长时间盯着JQuery,看到了隧道视觉。var ChildMenusFound是做什么用的?仅用于调试-调用hover()后,我向ChildMenusFound.length发出警报,这样我就可以看到选择器找到了多少元素。实际上,我修复了ug并在没有注意的情况下取消了它(CTRL-Z)。感谢您提出了一个好主意,我通常会选择使用它——不过,在本例中,这是菜单系统的开始,除了切换类之外,我还将滑动/隐藏子菜单。由于如果JS不存在,我将返回到仅CSS的菜单,因此我将在那里使用悬停方法。JQuery菜单无论如何都需要JS,因此它很方便,没有实际成本。
<li class="menu_Child>"
<li class="menu_Child">