【发布时间】:2011-06-30 05:21:24
【问题描述】:
考虑一下这个 SVG/XML 和 JavaScript:
<svg id="foo" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<use id="bar" xlink:href="#whee" />
</svg>
...
var foo = document.getElementById('foo');
var bar = document.getElementById('bar');
var xlnk = foo...; // What is correct here?
var link = bar.getAttributeNS(xlnk,'href');
显然我可以使用xlnk = "http://www.w3.org/1999/xlink" 完成这项工作;但是,我的问题是,在 svg 元素上动态获取 xmlns:xlink 属性的正确方法是什么?
以下代码恰好在 Safari/Chrome/FF 中运行,但它真的有效吗?var xlnk = foo.getAttribute('xmlns:xlink');
以下代码在这些浏览器中返回一个空字符串:var xlnk = foo.getAttributeNS( "http://www.w3.org/2000/svg", "xlink" );
【问题讨论】:
标签: javascript xml namespaces svg