如何解决xml:space 属性不能通过 element.setAttributeNS() 方法设置
我无法解决这个问题。我使用 setAttributeNS
在我的 SVG 元素上设置 xml:space
属性,因为该属性是在 here 中定义的,但浏览器抱怨它应该直接通过 setAttribute
设置。显然这就是我试图理解为什么的解决方案?
如果命名空间不正确,我如何确定某些属性是否使用命名空间?其背后的原因是我尝试序列化节点。有一种获取 namespace of element 的方法,但我找不到任何可以从属性中获取命名空间的方法,一旦我在其他地方呈现序列化节点,这对我来说至关重要。
这是一个例子:
<svg viewBox="0 0 140 50" xmlns="http://www.w3.org/2000/svg">
<text id="spacing" y="20" xml:space="default">Default spacing</text>
</svg>
// works
document.getElementById("spacing").setAttribute("xml:space","preserve");
// not working
// Failed to execute 'setAttributeNS' on 'Element': 'https://www.w3.org/XML/1998/namespace' is // an invalid namespace for attributes.
document.getElementById("spacing").setAttributeNS(
"https://www.w3.org/XML/1998/namespace","xml:space","preserve"
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。