禁用div内的元素

时间:2012-01-18 12:48:16

标签: javascript html css

我有陈述$("#myDiv").attr("disabled","disabled"); 我想,一旦我禁用“父”容器,其中的所有元素都将被禁用。我实际上看到的是,该文本框看起来像已禁用,“删除”不起作用,但我可以在那里输入。在同一个div内部的复选框,看起来确实已禁用,我无法检查/取消选中它。我不确定100%,但我认为我已经使用了这种方式禁用它并且它按预期工作(文本框不可打字)。所以我想知道我是否需要为文本框明确设置禁用,或者其他一些CSS可能会打破我所期待的。

更新 我知道如何为我需要的元素显式设置禁用,我只是不想做它和我要求的是,如果它是禁用它的唯一方法,或文本框可能完全作为复选框(没有明确禁用它)和只是一些CSS打破了这种行为。

2 个答案:

答案 0 :(得分:5)

据我所知,这不是跨浏览器友好的,也不是有效的标记。最好的选择是做一些像

这样的事情
$('#myDiv').find('input,textarea,select').attr("disabled", true);

那应该找到div中的所有表单元素并直接应用teh disabled标志

编辑:甚至只是

$('input,textarea,select', '#myDiv').attr("disabled", true);

答案 1 :(得分:1)

您可以使用:input选择器:

$("#myDiv :input").attr("disabled", true);