如何使用JavaScript禁用li标记
我在我的页面上使用以下HTML:如何使用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
<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