Attr: localName 属性

localName 属性是 Attr 接口的只读属性,它返回属性的限定名称本地部分,即属性的名称,去除其前面任何命名空间。例如,如果限定名称为 xml:lang,则返回的本地名称为 lang,如果元素支持该命名空间。

本地名称始终为小写,无论属性创建时的案例如何。

注意: HTML 仅支持 SVG 和 MathML 元素上的固定命名空间集。这些是 xml(用于 xml:lang 属性)、xlink(用于 xlink:hrefxlink:showxlink:targetxlink:title 属性)和 xpath

这意味着 HTML 元素属性的本地名称始终与其限定名称相同:冒号被视为普通字符。在 XML(如 SVG 或 MathML 中),冒号表示前缀的结束,前面是命名空间;本地名称可能与限定名称不同。

表示属性限定名称的本地部分的字符串。

示例

以下示例显示了当我们点击相应按钮时,前两个元素的第一个属性的本地名称。<svg> 元素是 XML,支持命名空间,导致本地名称(lang)与限定名称 xml:lang 不同。<label> 元素是 HTML,不支持命名空间,导致本地名称和限定名称均为 xml:lang

HTML

html
<svg xml:lang="en-US" class="struct" height="1" width="1">Click me</svg>
<label xml:lang="en-US" class="struct"></label>

<p>
  <button>Show value for &lt;svg&gt;</button>
  <button>Show value for &lt;label&gt;</button>
</p>

<p>
  Local part of the attribute <code>xml:lang</code>:
  <output id="result">None.</output>
</p>

JavaScript

js
const elements = document.querySelectorAll(".struct");
const buttons = document.querySelectorAll("button");
const outputEl = document.querySelector("#result");

let i = 0;
for (const button of buttons) {
  const element = elements[i];
  button.addEventListener("click", () => {
    const attribute = element.attributes[0];
    outputEl.value = attribute.localName;
  });
  i++;
}

规范

规范
DOM 标准
# dom-attr-localname

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅