提问者:小点点

JavaScript:特定属性的名称空间?


通过使用JavaScript,是否有一种方法可以知道特定属性来自哪个名称空间?

我似乎找不到任何与这个问题相关的东西...

示例:

具有class属性的DIV元素。类来自哪个命名空间?

具有viewBox属性的SVG元素。viewBox来自哪个命名空间?

编辑:

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

我要找的是这样的东西:typeof attribute=>namespace

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

我并不是在询问/寻找一个能够检索这些信息的完整实现。


共1个答案

匿名用户

您可以通过attributes属性获取属性,并迭代它以获得属性名称和名称空间。大多数属性将位于null命名空间中。

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>