Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用div中的元素_Javascript_Html_Css - Fatal编程技术网

Javascript 禁用div中的元素

Javascript 禁用div中的元素,javascript,html,css,Javascript,Html,Css,我有对账单$(“#myDiv”).attr(“禁用”、“禁用”) 我认为一旦禁用“父”容器,该容器中的所有元素都将被禁用。事实上,我看到的是,这个文本框看起来像是被禁用的,“删除”在其中不起作用,但我可以在那里键入。选中同一个div中的复选框,看起来真的被禁用了,我无法选中/取消选中它。我不确定是否100%,但我认为我已经使用了禁用这种方式,并且它按照我的预期工作(文本框不可键入)。所以我想知道我是否需要显式地为文本框设置disabled,或者其他一些CSS破坏了我的预期 更新: 我知道如何为我

我有对账单<代码>$(“#myDiv”).attr(“禁用”、“禁用”) 我认为一旦禁用“父”容器,该容器中的所有元素都将被禁用。事实上,我看到的是,这个文本框看起来像是被禁用的,“删除”在其中不起作用,但我可以在那里键入。选中同一个div中的复选框,看起来真的被禁用了,我无法选中/取消选中它。我不确定是否100%,但我认为我已经使用了禁用这种方式,并且它按照我的预期工作(文本框不可键入)。所以我想知道我是否需要显式地为文本框设置disabled,或者其他一些CSS破坏了我的预期

更新:
我知道如何为我需要的元素显式设置禁用,我只是不想这么做,我想问的是,这是否是禁用它的唯一方法,或者textbox可能完全像checkbox一样工作(不显式禁用),只是一些CSS破坏了这种行为。

据我所知,这样做既不利于跨浏览器,也不利于有效的标记。最好的选择是像这样做

$('#myDiv').find('input,textarea,select').attr("disabled", true);
它应该找到div中的所有表单元素,并直接应用禁用标志

编辑:甚至只是

$('input,textarea,select', '#myDiv').attr("disabled", true);
您可以使用选择器:


$(“myDiv:input”).attr(“disabled”,true)

或仅美元(“#myDiv*”).attr(“禁用”、“禁用”)@Lee,thx,但我知道如何显式设置它,我想问的是,如果它是禁用它的唯一方法,或者textbox可能完全像checkbox一样工作,只是一些CSS破坏了这种行为。实际上,
$(“#myDiv”)。find(“:input”)…
似乎是最好的方法。@Alex在第一句话中,你得到了答案。
div
可以没有禁用的
属性,理论上它不应该工作。添加禁用的属性只是将禁用应用于元素。是浏览器解释了它。例如,当你禁用一个div时,Chrome什么也不做。我的方法可以在这里看到