【发布时间】:2014-05-15 17:14:34
【问题描述】:
当我将鼠标悬停在我的第二个菜单(子菜单)元素上时,我想更改我的第一个菜单项的颜色或任何样式(添加类)(并在不悬停时删除类)。这些菜单与 id 和 class 属性相关。我有一些问题。
我的 HTML:
<ul id="main-menu" class="mmenu">
<li class="mzr-drop panel-menu">
<a class="menu-item menu-item-238" href="#">First</a>
<a class="menu-item menu-item-243 active" href="#">Second</a>
<a class="menu-item menu-item-246" href="#">Third</a>
<div id="bg_menu_main" class="bg_menu">
<div class="menu-header">
<ul id="menu-main-nav-1" class="menu">
<li class="menu-item menu-item-238">
<ul class="sub-menu">
<li id="menu-item-239" class="menu-item menu-item-239">Item</li>
<li id="menu-item-240" class="menu-item menu-item-240">Item</li>
<li id="menu-item-241" class="menu-item menu-item-241">Item</li>
<li id="menu-item-242" class="menu-item menu-item-242">Item</li>
</ul>
</li>
<li class="menu-item menu-item-243">
<ul class="sub-menu">
<li id="menu-item-244" class="menu-item menu-item-244">Item</li>
<li id="menu-item-245" class="menu-item menu-item-245">Item</li>
</ul>
</li>
<li class="menu-item menu-item-246">
<ul class="sub-menu">
<li id="menu-item-247" class="menu-item menu-item-247">Item</li>
<li id="menu-item-248" class="menu-item menu-item-248">Item</li>
<li id="menu-item-249" class="menu-item menu-item-249">Item</li>
<li id="menu-item-250" class="menu-item menu-item-250">Item</li>
</ul>
</li>
</ul>
</div>
</div>
</li>
$('ul#menu-main-nav-1 li').hover(function () {
var id = $(this).attr('id');
$('#main-menu li.panel-menu').find('a.menu-item-'+id).addClass('hover');
});
而且它不工作。我忘记了什么?请帮忙。 谢谢
【问题讨论】:
-
尝试做一个“id”的console.log,它不能工作,因为var id被整个id名称填充-> menu-item-239,所以当你做$( '#main-menu li.panel-menu').find('a.menu-item-'+id).addClass('hover'); .find() 以这种方式填充 .find(a.menu-item-menu-item-239) (当然 239 是一个例子;))
-
查看我的更新答案
标签: javascript jquery html css menu