通过使用 JavaScript,有没有办法知道特定的属性来自哪个命名空间?
我似乎找不到与这个问题相关的任何信息......
例子:
具有 class 属性的 DIV 元素。 类来自哪个命名空间?
具有 viewBox 属性的 SVG 元素。 viewBox 来自哪个namespace?
编辑:
如果我想在 USE 元素上设置“xlink:href”属性,我必须指定命名空间“http://www.w3.org/1999/xlink”。
我要找的是这样的东西:typeof attribute => namespace
所以...typeof "xlink:href"=> "http://www.w3.org/1999/xlink "
我不是在询问/寻找可以检索此信息的完整实现。
最佳答案
您可以通过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>
关于JavaScript : NameSpace of a specific attribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49823078/