JavaScript:特定属性的NameSpace?

时间:2018-04-13 18:22:56

标签: javascript html svg namespaces

通过使用JavaScript,有没有办法知道特定属性来自哪个命名空间

我似乎无法找到与此问题相关的任何内容......

例如:

具有属性的DIV元素。 名称来自>

具有 viewBox 属性的SVG元素。 名称空间来自 viewBox

编辑:

如果我想在USE元素上设置“xlink:href”属性,我必须指定命名空间“http://www.w3.org/1999/xlink”。

我正在寻找的是: typeof attribute =>命名空间

所以... typeof“xlink:href”=> “http://www.w3.org/1999/xlink

我不是在寻找/寻找可以检索此信息的完整实现。

1 个答案:

答案 0 :(得分:2)

您可以通过attributes属性获取属性并迭代它以获取属性名称和名称空间。大多数属性都在null命名空间中。

var attrs = document.getElementById("use").attributes;
for(var i = 0; i < attrs.length; i++) {
    console.log(attrs[i].name + " " + attrs[i].namespaceURI);
}
<svg>
    <use id="use" xlink:href="something" class="something"/>
</svg>