javascript - cloneNode() 在 Internet Explorer 10 和 11 中更改属性值

标签 javascript jquery internet-explorer svg clone

当我在名称为 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 而不是 stdDeviationXstdDeviationY,但 cloneNode() 函数具有没有必要乱搞这些属性。它应该返回节点的克隆,而不是属性已更改的节点。

您应该将此报告给 Internet Explorer 开发团队(如果您有时间的话)。目前,您所能做的就是实现手动解决方法。

关于javascript - cloneNode() 在 Internet Explorer 10 和 11 中更改属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847492/

相关文章:

javascript - null 不是对象(评估 '_RNGestureHandlerModule.default.Direction' )

php - 加载前页面上出现 Stray "-->"

jQuery 警报框

javascript - Son of Suckerfish Menu IE6 - 隐藏在内容后面的菜单

javascript - 如何完全使用 JavaScript 关闭浏览器

javascript - 使用键盘快捷键将文件上传到 HTML5 页面

javascript - JavaScript 中名为 "status"的变量的奇怪行为

javascript - 图片说明无法正常工作

javascript - 两人游戏中的第二个玩家无法输入 if 语句

internet-explorer - POODLE 漏洞、JBoss 和 IE