Javascript 这是IE中的一个bug吗?
我正在从我的应用程序复制一个场景 HTML: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
<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设置的: