如何使用JavaScript禁用li标记

如何使用JavaScript禁用li标记,javascript,html,Javascript,Html,我在我的页面上使用以下HTML: <ul id="tabnav"> <li id="tab_a" class="tab1"><a href="tab1.htm">Tab a</a></li> <li id="tab_b" class="tab2"><a href="tab2.htm">Tab b</a></li> <li id="ta

我在我的页面上使用以下HTML:

<ul id="tabnav">

        <li id="tab_a" class="tab1"><a href="tab1.htm">Tab a</a></li>
        <li id="tab_b" class="tab2"><a href="tab2.htm">Tab b</a></li>
        <li id="tab_c" class="tab3"><a href="tab3.htm">Tab c</a></li>
    </ul>
然而,它似乎不起作用

我希望它能禁用,这样你就不能点击它了


我做错了什么吗?

您可以向返回false的链接添加onclick处理程序

document.getElementById("tab_c").childNodes[0].onclick = function() {return false;};​

childNodes[0]
只选择第一个子节点,在本例中是

使用jQuery库,您可以执行类似操作

$('a').on('click', function() {
    return !$(this).attr('disabled');
});
要切换禁用状态,只需执行此操作

$('#tab_c a').attr('disabled', true); //add
$('#tab_c a').removeAttr('disabled'); //remove

有些事你没有告诉我们
li
项没有默认的点击处理程序。我想你的意思是禁用
而不是
  • @AlvinWong-我使用的是来自的css选项卡,我希望能够禁用其中一个选项卡,然后能够再次启用它。我想我可以使用这个。。但我希望禁用我的一个标签。。我正在使用这个css选项卡,希望禁用其中一个选项卡,然后重新启用它-@Aaron因为这完全是用css完成的,这是你最好的选择。一开始无法禁用的东西是无法禁用的。@Daedalus谢谢,这就解释了为什么我不能这么做。。那么,我就必须这样做了。@Aaron您可以让您的禁用/启用功能同时执行这两项操作。添加/删除CSS类以正确设置选项卡样式,并使用上面的JS实际禁用它:)@AdamHeath-如何隐藏相同的li?而不是使用JavaScript。我不能为此使用任何jQuery。@Aaron jQuery是javascript。我理解,但它需要一个100kb以上的文件,当我在我的设备上使用它时,加载需要很长时间,当我不使用这个jQuery文件时,加载速度会快得多。我宁愿用jQuery来做,但我不能用这个。+1作为完美的答案,在我结束治疗后,我能够禁用所有li和嵌套li。
    $('#tab_c a').attr('disabled', true); //add
    $('#tab_c a').removeAttr('disabled'); //remove
    
    //css
    .disabled{
        pointer-events:none;
        opacity:0.4;
    }
    // jqvery
    $("li a").addClass('disabled');
    // remove .disabled when you are done