如何禁用UL内的特定LI元素?

时间:2013-03-26 17:20:49

标签: javascript css html-lists listitem

我有一个<ul>的菜单。每个菜单项都是<li>,目前可点击。 基于某些条件,我想禁用(使其不可点击)特定的<li>元素。 我怎样才能做到这一点?我尝试使用disabled<li>上的list-style:none属性。都没有奏效。有什么建议吗?

4 个答案:

答案 0 :(得分:72)

如果您仍想显示该项目,但仍无法点击该项目,并且看起来已禁用CSS:

CSS:

.disabled {
    pointer-events:none; //This makes it not clickable
    opacity:0.6;         //This grays it out to look disabled
}

HTML:

<li class="disabled">Disabled List Item</li>

此外,如果您使用的是BootStrap,则为此目的,它们已经有一个名为disabled的类。 See this example

答案 1 :(得分:2)

我通常使用<li>来添加<a>链接。我禁用了这样的点击动作; 您可能不会包含<a>个链接,那么您将忽略我的帖子。

a.noclick       {
  pointer-events: none;
}
<a class="noclick" href="#">this is disabled</a>

答案 2 :(得分:1)

使用CSS3:http://www.w3schools.com/cssref/sel_nth-child.asp

如果由于任何原因不能选择,您可以尝试提供列表项类:

<ul>
<li class="one"></li>
<li class="two"></li>
<li class="three"></li>
...
</ul>

然后在你的css中:

li.one{display:none}/*hide first li*/
li.three{display:none}/*hide third li*/

答案 3 :(得分:0)

使用JQuery:http://api.jquery.com/hide/

$('li.two').hide()

在:

<ul class="lul">
    <li class="one">a</li>
    <li class="two">b</li>
    <li class="three">c</li>
</ul>

准备好文件。

http://jsfiddle.net/2dDSG/