【问题标题】:JavaScript : NameSpace of a specific attribute?JavaScript:特定属性的名称空间?
【发布时间】:2018-09-24 04:08:26
【问题描述】:

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

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

【问题讨论】:

  • 几乎所有属性都在空命名空间中。
  • getAttributeNS 需要命名空间和属性,我实际上是在寻找该属性的命名空间...让我编辑我的示例
  • 你如何获取或检索罗伯特的信息?

标签: javascript html svg namespaces


【解决方案1】:

您可以通过 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>

【讨论】:

  • 这正是我要找的!非常感谢罗伯特
猜你喜欢
  • 2010-09-22
  • 1970-01-01
  • 2010-10-09
  • 2010-12-15
  • 2012-11-27
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
相关资源
最近更新 更多