0

我正在开发一个具有两种模式的菜单,当用户单击其中一个模式时,列表项的类会发生变化,我可以让它在第一次模式更改时工作,但是当我尝试改回它时它不起作用。

这是我的代码

$('#menu ul.mode li.edit').click(function() {
    $('#menu').css('background-image', 'url(images/edit-menu/fundo.png)');
    });
    $('#menu ul.icons li.ummix').removeClass('ummix').addClass('um');


$('#menu ul.mode li.mix').click(function() {
    $('#menu').css('background-image', 'url(images/edit-menu/fundo-mix.gif)');
    $('li.um').removeClass('um').addClass('ummix');

});

不起作用的部分是

$('#menu ul.icons li.ummix').removeClass('ummix').addClass('um');

我的 HTML 是这样的

<div id="menu">
<ul class="mode">
    <li class="edit"><a href="#edit"><img src="images/edit-menu/selected/edit.gif" /></a></li>
    <li class="mix"><a href="#mix"><img src="images/edit-menu/icons/mix.png" /></a></li>
</ul>

<ul class="icons"> 
    <li class="um"></li>
</ul>
4

2 回答 2

1

添加和删​​除相反的类变得笨拙。

假设unmixum彼此相反,我会鼓励你只使用一个类。然后检查它的存在或不存在。那时你可以简单地使用类似toggleClass().

于 2012-06-21T21:57:08.247 回答
0

删除ummix类后,选择器不再适用于这些元素。um在删除类之前尝试添加类ummix

于 2012-06-21T21:57:27.627 回答