J'ai un menu qui est un <ul>
. Chaque élément de menu est un <li>
et est actuellement cliquable . Selon certaines conditions, je souhaite désactiver (le rendre non cliquable) un élément <li>
particulier . Comment puis-je obtenir cela? J'ai aussi essayé d'utiliser l'attribut disabled
sur <li>
et list-style:none
. Ni travaillé. Aucune suggestion?
Si vous souhaitez toujours afficher l'élément mais ne le rendre pas cliquable et avoir l'air désactivé avec 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>
De plus, si vous utilisez BootStrap, une classe appelée désactivée à cette fin existe déjà. Voir cet exemple .
J'utilise habituellement <li>
pour inclure le lien <a>
. Je désactive l'écriture de l'action de clic comme ceci: Vous ne pouvez pas inclure le lien <a>
, vous ignorerez alors mon post.
a.noclick {
pointer-events: none;
}
<a class="noclick" href="#">this is disabled</a>
Utilisation de CSS3: http://www.w3schools.com/cssref/sel_nth-child.asp
Si ce n'est pas une option pour une raison quelconque, vous pouvez essayer de donner les classes d'éléments de liste:
<ul>
<li class="one"></li>
<li class="two"></li>
<li class="three"></li>
...
</ul>
Puis dans votre css:
li.one{display:none}/*hide first li*/
li.three{display:none}/*hide third li*/
Utilisation de JQuery: http://api.jquery.com/hide/
$('li.two').hide()
Dans :
<ul class="lul">
<li class="one">a</li>
<li class="two">b</li>
<li class="three">c</li>
</ul>
Sur document prêt.