簡體   English   中英

IE11 中的 SetProperty 與 DOM 樣式屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM