当我在名称为 feGaussianBlur
且具有属性 stdDeviation
的元素上调用 cloneNode()
时,InternetExplorer(10 和 11)始终将值转换为 1.72443e+009
。
这是一个说明问题的四行代码:https://jsfiddle.net/kytbh4Ls/6/
如果您更改元素名称、使用不同的属性名称或在任何其他浏览器(Chrome、Firefox)上运行 fiddle,一切都会按预期运行。使用不同的属性值不会改变任何东西。
这种非常奇怪的行为可能是什么原因造成的?有什么办法可以解决吗?
这里是使用 jQuery 的 clone()
而不是 cloneNode()
的修改后的 fiddle ,不幸的是产生了相同的结果:https://jsfiddle.net/kytbh4Ls/7/
最佳答案
这是 Internet Explorer 中的明显错误。虽然 Internet Explorer 确实使用 stdDeviation
而不是 stdDeviationX
和 stdDeviationY
,但 cloneNode()
函数具有没有必要乱搞这些属性。它应该返回节点的克隆,而不是属性已更改的节点。
您应该将此报告给 Internet Explorer 开发团队(如果您有时间的话)。目前,您所能做的就是实现手动解决方法。
关于javascript - cloneNode() 在 Internet Explorer 10 和 11 中更改属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847492/