如何解决IE11中的SetProperty vs DOM样式属性
我对这些属性打击感到困惑,为什么DOM样式的Property在IE 11中不起作用?
arrow.style = 'visibility:hidden'; // not working
arrow.setAttribute = ('style','visibility:visible'); // works fine.
arrow.style.setProperty('visibility','visible'); // works fine.
解决方法
根据the CSSOM spec,这应该可行,但它只是草稿,而且在浏览器之间可能不一致。
无论如何,该规范指出分配给style
属性应与直接分配给style.cssText
一样对待。所以我会这样做。
也来自MDN:
不应通过直接将字符串分配给style属性来设置样式(如
elt.style = "color: blue;"
),因为它被认为是只读的,因为style属性返回一个CSSStyleDeclaration
对象,该对象也是只读。而是可以通过将值分配给样式的属性来设置样式。为了在不更改其他样式值的情况下向元素添加特定样式,最好使用样式的各个属性(如elt.style.color = '...'
),因为使用elt.style.cssText = '...'
或elt.setAttribute('style','...')
可以设置完整的内联样式通过覆盖现有的内联样式来添加元素。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。