use*_*757 3 javascript css jquery
我正在尝试将所有元素样式属性复制到另一个元素。(内联和继承)这样做我使用window.getComputedStyle(),但是当我采用所有样式值时,该float值不存在。我什至尝试使用 element.style 但它不存在。
但是当我使用 jQuery.css('float') 时,我得到了正确的值,所以它肯定存在!
你有什么解决方案或聪明的方法来做到这一点吗?
需要考虑的两件事:window.getComputedStyle()在 IE < 9 中不起作用(此处为文档)。此外,当通过 访问浮点值时element.style,属性的命名cssFloat是因为“float”是 JS 中的保留字(此处为文档)。在 IE < 9 中,该属性名为styleFloat。
您的示例通过 jQuery 工作的原因是因为 jQuery 在读取计算样式时知道浏览器的固有差异,并对其进行平滑处理,以便您可以通过一致的 API 访问它们。
element.style映射到 style 属性,它不考虑继承/外部样式。对于旧的 IE,你想要的属性是element.currentStyle,它考虑了继承的样式。
如果您需要一个不依赖于 jQuery 的解决方案,您需要检查window.getComputedStyle()并使用它(如果存在),并回退到element.currentStyle旧的 IE(使用 属性styleFloat)。
希望有帮助,加油!
| 归档时间: |
|
| 查看次数: |
2930 次 |
| 最近记录: |