我複製從我的應用場景,這是IE中的錯誤嗎?
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");
}
廠在所有瀏覽器中都很好, 但是,在IE中,禁用父級的input
顯示爲禁用,但不是。
任何解釋爲什麼會發生這種情況?
我知道disabled
不是div
的有效屬性,但IE應該忽略這樣的屬性?
我不認爲屬性'disabled =「true」'是可用的div –
您的意思是x = [] .slice.call(x); ?並不是說它會改變循環的行爲,只是當你不分配結果時它不起作用。 – kinakuta
在safari中全部啓用。我不會說這是一個錯誤,因爲div不能禁用屬性 –