Javascript 这是IE中的一个bug吗?

Javascript 这是IE中的一个bug吗?,javascript,internet-explorer,internet-explorer-11,Javascript,Internet Explorer,Internet Explorer 11,我正在从我的应用程序复制一个场景 HTML: <input type='text' disabled='true' /> <input type='text' disabled='true' /> <input type='text' disabled='true' /> <input type='text' disabled='true' /> <div disabled='true'> <input type='tex

我正在从我的应用程序复制一个场景

HTML:

<input type='text' disabled='true' />
<input type='text' disabled='true' />
<input type='text' disabled='true' />
<input type='text' disabled='true' />
<div disabled='true'>
    <input type='text' disabled='true' />
</div>
<input type='text' disabled='true' />
<p id='test'></p>

我想通过点击按钮启用这些元素,相当于js

var x = document.querySelectorAll('input[type="text"]');
var p = document.querySelector('#test');
[].slice.call(x);

for (var i = 0; i < x.length; i++) {
    p.innerHTML += x[i].getAttribute("disabled") + " ";

    x[i].removeAttribute("disabled");
}
var x=document.querySelectorAll('input[type=“text”]”);
var p=document.querySelector(“#test”);
[]切片调用(x);
对于(变量i=0;i
在所有浏览器中都可以正常工作, 但是,在IE中,父项已禁用的
输入显示为已禁用,但不是

有没有解释为什么会发生这种情况

我知道
disabled
不是
div
的有效属性,但是IE应该忽略这样的属性吗


这并不是说它是一个bug,而是让我们对事情有了更多的了解

直接从该条:

“disabled”属性仅适用于按钮输入、OPTGROUP、OPTION、, 选择,文本区域标记和浏览器的一般策略是 使用任何未授权在tag-then浏览器中使用的属性 忽略它们,但可以使用javascript访问它们。但我不是 这种情况下。如果在div标签上应用“disabled”,即 这会导致严重后果,并使div标记被禁用。这意味着我们 不仅在div上有任何控制事件,而且根据“此 属性是继承的,但本地声明会覆盖继承的 W3C禁用规范中的规则,即应用禁用 div标记中嵌套元素上的属性。所以要小心


我认为属性
disabled=“true”
在div中不可用。你是说x=[].slice.call(x)?这并不是说它会改变循环的行为,只是当您不分配结果时,它没有任何效果。在safari中,所有都是启用的。我不会说这是一个bug,因为div不能有属性disabledLook,就像禁用的对象在IE div上时被应用到内部元素一样。disabled是相对于表单控件的属性,它不是由true或false设置的: