我有文本框,标签和超链接div。我想禁用/启用其中的元素。我正在使用此代码。
$('#Content_2:input')。attr('disabled',true);
但这会使hyerperlink和标签启用。怎么修改这个?
答案 0 :(得分:3)
:input
仅适用于输入类型(<input>
,<textarea>
,<select>
和<button>
)元素,对于您需要添加的其他元素选择器:
$('#Content_2').find(':input, label').attr('disabled', true);
你也可以做一个选择器,我觉得这个看起来有点干净,单选择器会是:
$('#Content_2 :input, #Content_2 label').attr('disabled', true);
基于评论:现在对于主持人来说,那个有点不同,你最好不要不引人注意地绑定事件,例如:
$('#Content_2').delegate('img.toggle:not(.disabled)', 'click', function(e) {
window.scroll(150,650);
tooglecargoLoading();
});
然后该链接可以是<img>
本身,如下所示:
<img class="toggle" src="images/accept_but1.jpg" width="119" height="20" border="0" />
要启用/禁用它,只需添加/删除disabled
类,如下所示:
$("#Content_2 img.toggle").addClass("disabled");
//to re-enable:
$("#Content_2 img.toggle").removeClass("disabled");
通过执行此操作,当click
事件冒泡时,链接将/将与选择器不匹配...意味着它将被有效禁用。还有其他方法可以做到这一点,比如把
答案 1 :(得分:0)
$('#Content_2 :input').attr('disabled', true);
only disables all <input /> element inside #Content_2 not <a>
试
$('#Content_2 :input,#Content_2 a,#Content_2 span').attr('disabled', 'disabled');
使他们能够使用:
$('#Content_2 :input,#Content_2 a,#Content_2 span').removeAttr('disabled');