禁用Superfish菜单项

时间:2012-10-05 19:51:06

标签: javascript jquery css superfish

这感觉应该很容易做到,但由于某些原因我遇到了麻烦。我有一个相当普通的Superfish菜单(只是顶线和下拉菜单,没有子菜单)。

我想禁用其中一个菜单项而不从菜单中删除它。处理onClick很简单 - 如果选择菜单,只需忽略点击即可。给我带来麻烦的部分是向用户表明“此菜单项已被禁用”。

例如,我希望菜单项“DISABLE ME”为不同的颜色,具有不同的背景等。

enter image description here

我有一个JSFiddle,我试图将颜色设置为红色(或绿色,或其他)。

如果JSFiddle去世,这是基础知识:

HTML:

<ul id="sample-menu-1" class="sf-menu">
    <li class="current">
        <a href="#a">menu item</a>
        <ul>
            <li>
                <a href="#aa">menu item</a>
            </li>
            <li class="current">
                <a href="#ab">menu item</a>
            </li>
            <li class='disableLI'>
                <a href="#">DISABLE ME</a>
            </li>
            <li>
                <a href="#">menu item</a>
            </li>
        </ul>
    </li>
    <li>
        <a href="#">menu item</a>
    </li>
    <li>
        <a>menu item</a>
    </li>    
</ul>​

这是vanilla Javascript:

$("ul.sf-menu").superfish();​

这是不起作用的CSS:

.disableLI { color: red; }
.sf-menu, .disableLI { color : green; }

3 个答案:

答案 0 :(得分:0)

我认为你只针对了错误的元素

http://jsfiddle.net/WUjQQ/1/

让事情变得简单

.disableLI a { color: red !important; }

答案 1 :(得分:0)

.disableLI a { color : green; }

答案 2 :(得分:0)

li.disableLI { background-color : red !important; }
.disableLI a { color : green; }

这会使li红色和字体颜色变为绿色。