[英]SetProperty vs DOM style Property in IE11
我對那些屬性打擊感到困惑,為什么 DOM 樣式屬性在 IE 11 中不起作用?
arrow.style = 'visibility:hidden'; // not working
arrow.setAttribute = ('style','visibility:visible'); // works fine.
arrow.style.setProperty('visibility', 'visible'); // works fine.
根據CSSOM 規范,這應該可以工作,但它也只是草稿,在瀏覽器之間可能不一致。
無論如何,規范說分配給style
屬性應該被視為直接分配給style.cssText
。 所以我會這樣做。
同樣來自MDN :
不應通過將字符串直接分配給 style 屬性來設置樣式(如
elt.style = "color: blue;"
),因為它被認為是只讀的,因為 style 屬性返回一個CSSStyleDeclaration
對象,該對象也是只讀的-只要。 相反,可以通過為樣式屬性賦值來設置樣式。 為了在不改變其他樣式值的情況下向元素添加特定樣式,最好使用樣式的各個屬性(如elt.style.color = '...'
),如使用elt.style.cssText = '...'
或elt.setAttribute('style', '...')
通過覆蓋現有的內聯樣式為元素設置完整的內聯樣式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.