为什么getAttributeNS返回null?

时间:2015-02-17 10:43:09

标签: javascript svg

var svg = document.getElementById('test'),
    use = svg.lastElementChild;

alert(use.getAttributeNS(null, 'x'));
// "200"

alert(use.getAttributeNS('http://www.w3.org/1999/xlink', 'href'));
// "#shape"

alert(use.getAttributeNS('http://foo.io/bar', 'foo'));  
// null - why?
<svg id="test"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     xmlns:test="http://foo.io/bar">
    <defs>
        <g id="shape">
            <rect x="50" y="50" width="50" height="50" />
            <circle cx="50" cy="50" r="50" />
        </g>
    </defs>
    <use xlink:href="#shape" x="200" y="50" test:foo="bar" />
</svg>

1 个答案:

答案 0 :(得分:5)

查看MDN页面,html5文档中似乎不支持名称空间 - https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNS#Example

您似乎必须使用use.getAttribute('test:foo');

相关问题