gpt4 book ai didi

javascript - element.style 或 window.getComputedStyle() 不显示 float

转载 作者:行者123 更新时间:2023-11-29 18:15:38 24 4
gpt4 key购买 nike

我正在尝试将所有元素样式属性复制到另一个元素。 (内联和继承)为此,我使用了 window.getComputedStyle(),但是当我获取所有样式值时,float 值不存在。我什至尝试使用 element.style 但它不存在。

但是当我使用 jQuery.css('float') 时,我得到了正确的值,所以它确实存在!

您有什么解决方案或聪明的方法吗?

最佳答案

需要考虑两件事:window.getComputedStyle() 在 IE < 9 中不起作用(文档 here)。此外,当通过 element.style 访问浮点值时,该属性被命名为 cssFloat 因为“float”是 JS 中的保留字(文档 here)。在 IE < 9 中,该属性被命名为 styleFloat

您的示例通过 jQuery 运行的原因是因为 jQuery 在读取计算样式时知道浏览器的固有差异,并对其进行平滑处理,以便您可以通过一致的 API 访问它们。

element.style 映射到样式属性,不考虑继承/外部样式。对于旧版 IE,您需要的属性是 element.currentStyle,它考虑了继承的样式。

如果您需要一个不依赖于 jQuery 的解决方案,则需要检查 window.getComputedStyle() 并在存在时使用它,然后回退到 元素。旧 IE 的 currentStyle(使用属性 styleFloat)。

希望对您有所帮助,干杯!

关于javascript - element.style 或 window.getComputedStyle() 不显示 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23547672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com