为了账号安全,请及时绑定邮箱和手机立即绑定

在 Safari 中,重复 setAttributeNS() 调用会创建附加属性

在 Safari 中,重复 setAttributeNS() 调用会创建附加属性

慕田峪7331174 2021-08-26 14:31:21
在 Chrome 和 FF 中,如果我运行这一行SOME_SVG_NODE.setAttributeNS("http://example.com","ex:attr",1)然后这一行稍后:SOME_SVG_NODE.setAttributeNS("http://example.com","ex:attr",2)结果是: <node ex:attr="2">...在 Safari 中,结果是: <node ex:attr="1" attr"2">...在 Safari 中,如果我接连运行这两行,结果匹配 Chrome 和 FF ...我是否遗漏了什么或做了一些不规则的事情?是否有某种原因对 setAttributeNS 的连续调用是不明确的,以至于不同的浏览器对它的解释不同?完整示例<!DOCTYPE html><html><head>   <title></title></head><body>   <svg xmlns="http://www.w3.org/2000/svg">      <g></g>   </svg>   <script type="text/javascript">      let g = document.querySelector("g")      g.setAttributeNS("http://example.com","ex:attr","1")      g.setAttributeNS("http://example.com","ex:attr","2")      console.log(g)      document.addEventListener("mousedown",e=>{         g.setAttributeNS("http://example.com","ex:attr","3")         console.log(g)      })   </script></body></html>
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

这似乎是 Safari 检查器中的一个错误。引擎盖下只跟踪一个属性。该问题已被报告,正在修复中。


查看完整回答
反对 回复 2021-08-26
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信