我创建了包含三个<ul>
的{{1}}。我想在某些条件下禁用其中一个<li>
并在其他<li>
中插入一些文本但是失败了。
<li>
code
我想B1禁用。我试过以下代码:
var d = document.createElement('div');
d.className = "dataTables_paginate paging_bootstrap pagination";
var UL = document.createElement('ul');
var L1 = document.createElement('li');
L1.className = 'prev';
var A1 = document.createElement('a');
A1.appendChild(document.createTextNode('← Previous'));
A1.id = 'B1';
L1.appendChild(A1);
UL.appendChild(L1);
var L3 = document.createElement('li');
L3.className = 'active';
var A3 = document.createElement('a');
A3.appendChild(document.createTextNode('1'));
L3.appendChild(A3);
UL.appendChild(L3);
d.appendChild(UL);
var L2 = document.createElement('li');
L2.className = 'next';
var A2 = document.createElement('a');
A2.appendChild(document.createTextNode('Next →'));
L2.appendChild(A2);
A2.id = 'B2';
UL.appendChild(L2);
var root = document.getElementById('rose');
root.appendChild(d);
script
答案 0 :(得分:4)
尝试使用.off()
:
$('#B1').off("click");
供参考:
只有表单输入元素具有要禁用的属性,无论是text
,select checkbox buttons
等类型。
答案 1 :(得分:2)
虽然li元素没有禁用状态,但您可以模拟所需的行为:
$('#B1').css("color","gray").css("text-decoration","none");
这会使其显示为已禁用(不会加下划线并显示为灰色)。
如果您需要禁用附加到其上的事件侦听器,则必须使用off():
$('#B1').off("click");
此外,如果元素是链接,则必须以下列方式阻止它被点击:
$('#B1').click(function() {
$(this).preventDefault(); // prevent the default action
$(this).stopPropagation(); // prevent event from bubbling up
return false; // just to be sure
}