Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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
DOM';残疾人士';javascript中的属性_Javascript_Dom - Fatal编程技术网

DOM';残疾人士';javascript中的属性

DOM';残疾人士';javascript中的属性,javascript,dom,Javascript,Dom,对于如何使用disabled属性禁用javascript中的表单元素,我找不到明确的答案 有些地方说这是一个简单的布尔值。另一种方法是将其设置为字符串值“disabled”以禁用,空字符串“”以启用。或者添加和删除禁用的属性,通常与字符串值结合使用 那么,跨浏览器执行此操作的正确方法是什么?(没有jQuery)。 像启用标志这样简单的东西是怎么被屠杀的 --编辑-- 抱歉,我应该提到我是为IE8开发的(不是出于选择)。属性的存在足以触发禁用状态 如果必须为属性设置值,则该值应与属性名称相同,例如

对于如何使用disabled属性禁用javascript中的表单元素,我找不到明确的答案

有些地方说这是一个简单的布尔值。另一种方法是将其设置为字符串值“disabled”以禁用,空字符串“”以启用。或者添加和删除禁用的属性,通常与字符串值结合使用

那么,跨浏览器执行此操作的正确方法是什么?(没有jQuery)。 像启用标志这样简单的东西是怎么被屠杀的

--编辑--


抱歉,我应该提到我是为IE8开发的(不是出于选择)。

属性的存在足以触发禁用状态

如果必须为属性设置值,则该值应与属性名称相同,例如
disabled=“disabled”

我将尝试查找一些关于浏览器的特定行为和相关规范的文档

--编辑--

HTML5规范涵盖布尔属性,如禁用,如下所示:


实际上,web浏览器将忽略指定的值,而只是查找属性的存在。

DOM元素的
.disabled
是一个布尔值,应该指定布尔值


disabled
HTML属性与markup或
setAttribute()
中的属性类似,是一个空属性,这意味着它可以将值设为空、
disabled
或省略。另请参见和。

禁用的
属性是布尔值。如果标签存在,则输入将被禁用。与字符串值相关联的混淆通常来自XHTML验证。在XHTML中,属性最小化是被禁止的,因此它必须有一个值,并且XHTML规范规定它必须是
disabled=“disabled”

对于任何浏览器,如果标记存在,则无论字符串值如何,输入都将被禁用


以下输入元素均已禁用:


将disabled设置为true适用于所有输入类型。我已经在chrome、firefox、ie edge上试用过了。试试这个

<!doctype html>
<html lang="en">
<body>
<input type="text" class="disableit">
<textarea class="disableit"></textarea>
<input type="radio" class="disableit">
<select class="disableit"><option>one</option><option>two</option>
<input type="checkbox" class="disableit">

<script>
var inputs = document.getElementsByClassName( "disableit" );
for( var i = 0; i < inputs.length; i++ ){
    inputs[i].disabled = true;
}
</script>
</body>
</html>

一二
var inputs=document.getElementsByClassName(“disableit”);
对于(变量i=0;i
这里没有javascript,请特别注意最后一个HTML示例<代码>
基本上就是对您撒谎的HTML。不要那样做。也要避免
disabled=“true”
,即使只是为了阻止“好吧,如果
true
禁用它…”的思维过程。@colin撒谎,都是谎言。你还应该注意到
disabled=“true”
disabled=“false”
都是无效的HTML。它不会被屠杀。你只需要理解属性和属性之间的区别,我不同意。决定禁用一个属性而不是一个属性是错误的。这不是一个或另一个问题。HTML具有属性。DOM具有属性,属性分别建模。许多HTML属性被转换为DOM元素属性。这就是你需要理解的区别。element.removeAttribute('disabled')或element.disabled=false在IE8中都可以工作,但旧版ie需要第二个(属性)分配。在iOS上的任何浏览器上都不能工作,包括Chrome。