Attr: prefix プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

prefixAttr インターフェイスの読み取り専用プロパティで、この属性の名前空間接頭辞を返します。接頭辞が指定されていなければ null を返します。

接頭辞は、属性が作成されたときの大文字小文字に関わらず、常に小文字になります。

メモ: XML だけが名前空間に対応しています。 HTML は対応していません。つまり、 HTML 要素の属性の接頭辞は常に null になります。

また、xmlxml:lang 属性)、xlinkxlink:href, xlink:show, xlink:target, xlink:title 属性)、 xpath 名前空間だけに、 SVG と MathML 要素でのみ対応しています。

その属性が属する名前空間の接頭辞が入った文字列です。もしない場合は null を返します。

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>
  Prefix 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.prefix;
  });
  i++;
}

結果

仕様書

Specification
DOM
# dom-attr-prefix

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
prefix

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報

  • Attr.name プロパティはこの属性の修飾名を返し、 Attr.localName プロパティはこの属性の修飾名のローカル名の部分を返します。
  • Element.prefix() プロパティは Element の名前空間接頭辞を返します。