JavaScript : NameSpace of a specific attribute?

标签 javascript html svg namespaces

通过使用 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/

相关文章:

javascript - Angular UI 警报在 IE 8 上不起作用

javascript - 在底部制作高度可变的页脚

html - 显示 : hidden CSS not working

javascript - 使用 d3js 绘制平行测量符号线

javascript - 与 SVG 矩形内联的 Div

html - SVG 响应按钮的 ViewBox 问题

javascript - 浏览器之外的关键事件?

javascript - JavaScript 中的 getAttribute(attr) 方法返回属性的先前值

javascript - 从外部访问二维数组中的 Google map 标记

javascript - 获取contenteditable span的值