通过使用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”
我并不是在询问/寻找一个能够检索这些信息的完整实现。
您可以通过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>