使用Jquery在Div中禁用Hyerperlink

时间:2010-12-03 10:36:25

标签: jquery

我有文本框,标签和超链接div。我想禁用/启用其中的元素。我正在使用此代码。

$('#Content_2:input')。attr('disabled',true);

Content_2 - 是div

但这会使hyerperlink和标签启用。怎么修改这个?

2 个答案:

答案 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');