diff options
Diffstat (limited to 'files/ja/web/api/attr/index.html')
| -rw-r--r-- | files/ja/web/api/attr/index.html | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/files/ja/web/api/attr/index.html b/files/ja/web/api/attr/index.html new file mode 100644 index 0000000000..52582355e8 --- /dev/null +++ b/files/ja/web/api/attr/index.html @@ -0,0 +1,211 @@ +--- +title: Attr +slug: Web/API/Attr +tags: + - API + - DOM +translation_of: Web/API/Attr +--- +<div>{{APIRef("DOM")}}</div> + +<p>この型は、DOM 要素の属性をオブジェクトとして提供します。ほとんどの DOM メソッドは、この属性を文字列として直接取得するでしょう (例: {{domxref("Element.getAttribute()")}})。しかし、特定の関数 (例: {{domxref("Element.getAttributeNode()")}}) やイテレーションを表すものには Attr 型を付与します。</p> + +<p>{{InheritanceDiagram}}</p> + +<div class="warning"><strong>警告:</strong> DOM Core 1、2、および 3 仕様において、<code>Attr</code> は {{domxref("Node")}} から継承されますが、<a class="external" href="https://www.w3.org/TR/dom/">DOM4</a> 仕様では異なります。Attr の実装を仕様に昇華する目的で、これを {{domxref("Node")}} から継承されないものに変更する作業が進められています。そのため、<code>Attr</code> オブジェクト上の {{domxref("Node")}} プロパティやメソッドを使用すべきではありません。<br> +Gecko 7.0 {{geckoRelease("7.0")}} 以降、これが削除されるという警告メッセージがコンソールに出力されています。これに従って、コードを変更してください。<a href="#Deprecated_properties_and_methods">非推奨のプロパティとメソッド</a> の完全なリストも参照してください。</div> + +<h2 id="プロパティ">プロパティ</h2> + +<dl> + <dt>{{domxref("Attr.name", "name")}} {{readOnlyInline}}</dt> + <dd>属性の名前です。</dd> + <dt>{{domxref("Attr.namespaceURI", "namespaceURI")}} {{readOnlyInline}}</dt> + <dd>属性の名前空間 URI を表す {{domxref("DOMString")}} 文字列です。名前空間がない場合、<code>null</code> になります。</dd> + <dt>{{domxref("Attr.localName", "localname")}} {{readOnlyInline}}</dt> + <dd>属性の限定名のローカル部分を表す {{domxref("DOMString")}} 文字列です。</dd> + <dt>{{domxref("Attr.prefix", "prefix")}} {{readOnlyInline}}</dt> + <dd>属性の名前空間の接頭辞を表す {{domxref("DOMString")}} 文字列です。接頭辞が指定されていない場合、<code>null</code> になります。</dd> + <dt>{{domxref("Attr.ownerElement", "ownerElement")}} {{readOnlyInline}}</dt> + <dd> + <p>属性を持った要素です。</p> + + <div class="note"> + <p><strong>注意:</strong> DOM レベル 4 からこのプロパティは削除されました。 {{domxref("Element")}} から <code>Attr</code> オブジェクトを取得でき、関連した要素を知っているという前提からでした。<br> + {{domxref("Document.evaluate")}} により返される <code>Attr</code> オブジェクトのように前提が真とはならない事例があるので、 DOM Living Standard は、プロパティを再び導入しました。</p> + + <p>Gecko は、Gecko 7.0 {{geckoRelease("7.0")}} から非推奨注意を出力します。非推奨注意は、Gecko 49.0 {{geckoRelease("49.0")}} で再び削除されました。</p> + </div> + </dd> + <dt>{{domxref("Attr.specified", "specified")}} {{readOnlyInline}}</dt> + <dd>このプロパティは常に <code>true</code> を返します。かつては、ソースコードやスクリプトで明示的に指定された場合に <code>true</code> を返し、ドキュメントの <acronym title="Document Type Definition">DTD</acronym> で定義されたデフォルト値である場合に <code>false</code> を返しました。</dd> + <dt>{{domxref("Attr.value", "value")}}</dt> + <dd>属性の値です。</dd> +</dl> + +<div class="note"> +<p><strong>注意:</strong> DOM レベル 3 は {{domxref("Node")}} インターフェース上に<code>namespaceURI</code>, <code>localName</code> および <code>prefix</code> を定義していました。DOM4 で、それらは <code>Attr</code> に移動しました。</p> + +<p>この変更は Chrome 46.0 以降、Firefox 48.0 以降で実装されています。</p> +</div> + +<h2 id="非推奨のプロパティとメソッド">非推奨のプロパティとメソッド</h2> + +<p>以下のプロパティは非推奨とされました。利用可能な場所では、適切な代わりのプロパティが提供されます。</p> + +<dl> + <dt><code>attributes</code></dt> + <dd>このプロパティは常に <code>NULL</code> を返します。</dd> + <dt><code>childNodes</code></dt> + <dd>このプロパティは常に <code>NULL</code> を返します。</dd> + <dt><code>firstChild</code></dt> + <dd>このプロパティは常に <code>NULL</code> を返します。</dd> + <dt><code>isId</code> {{readOnlyInline}}</dt> + <dd>属性が "ID 属性" かどうかを示します。"ID 属性" は、DOM ドキュメント全体で唯一の値であることが期待されます。HTML DOM の内部で、"id" はこの ID 属性だけですが、XMLドキュメントでは他の属性を定義できます。ある属性が唯一であるかどうかは、{{Glossary("DTD")}} または他のスキーマ記述で見分けられます。</dd> + <dt><code>lastChild</code> {{obsolete_inline(14)}}</dt> + <dd>このプロパティは常に <code>NULL</code> を返します。</dd> + <dt><code>nextSibling</code></dt> + <dd>このプロパティは常に <code>NULL</code> を返します。</dd> + <dt><code>nodeName</code></dt> + <dd>代わりに {{domxref("Attr.name")}} を使用してください。</dd> + <dt><code>nodeType</code></dt> + <dd>このプロパティは常に 2 (<code>ATTRIBUTE_NODE</code>) を返します。</dd> + <dt><code>nodeValue</code></dt> + <dd>代わりに {{domxref("Attr.value")}} を使用してください。</dd> + <dt><code>ownerDocument</code></dt> + <dd>これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。</dd> + <dt><code>parentNode</code></dt> + <dd>このプロパティは常に <code>NULL</code> を返します。</dd> + <dt><code>previousSibling</code></dt> + <dd>このプロパティは常に <code>NULL</code> を返します。</dd> + <dt><code>schemaTypeInfo</code> {{obsolete_inline}} {{readOnlyInline}}</dt> + <dd>この属性に関連付けられた型情報です。ドキュメントが読み込まれた後または {{domxref("Document.normalizeDocument")}} が呼び出された後、この属性含まれた型情報が正しいことが保証されています。ノードが移動された場合、このプロパティは信頼できなくなるでしょう。</dd> + <dt><code>specified</code></dt> + <dd>このプロパティは常に <code>true</code> を返します。</dd> + <dt><code>textContent</code></dt> + <dd>代わりに {{domxref("Attr.value")}} を使用してください。</dd> +</dl> + +<p>以下のメソッドは非推奨です:</p> + +<dl> + <dt><code>appendChild()</code></dt> + <dd>代わりに {{domxref("Attr.value")}} の値を変更してください。</dd> + <dt><code>cloneNode()</code></dt> + <dd>これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。</dd> + <dt><code>createAttribute()</code></dt> + <dd>代わりに {{domxref("Element.setAttribute()")}} を使用してください。</dd> + <dt><code>createAttributeNS()</code></dt> + <dd>代わりに {{domxref("Element.setAttributeNS()")}} を使用してください。</dd> + <dt><code>getAttributeNode()</code></dt> + <dd>代わりに {{domxref("Element.getAttribute()")}} を使用してください。</dd> + <dt><code>getAttributeNodeNS()</code></dt> + <dd>代わりに {{domxref("Element.getAttributeNS()")}} を使用してください。</dd> + <dt><code>hasAttributes() </code>{{obsolete_inline("21.0")}}</dt> + <dd>このメソッドは常に <code>false</code> を返します。</dd> + <dt><code>hasChildNodes()</code></dt> + <dd>このメソッドは常に <code>false</code> を返します。</dd> + <dt><code>insertBefore()</code></dt> + <dd>代わりに {{domxref("Attr.value")}} の値を変更してください。</dd> + <dt><code>isSupported()</code></dt> + <dd>これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。</dd> + <dt><code>isEqualNode()</code></dt> + <dd>これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。</dd> + <dt><code>normalize()</code></dt> + <dd>これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。</dd> + <dt><code>removeAttributeNode()</code></dt> + <dd>代わりに {{domxref("Element.removeAttribute()")}} を使用してください。</dd> + <dt><code>removeChild()</code></dt> + <dd>代わりに {{domxref("Attr.value")}} の値を変更してください。</dd> + <dt><code>replaceChild()</code></dt> + <dd>代わりに {{domxref("Attr.value")}} の値を変更してください。</dd> + <dt><code>setAttributeNode()</code></dt> + <dd>代わりに {{domxref("Element.setAttribute()")}} を使用してください。</dd> + <dt><code>setAttributeNodeNS()</code></dt> + <dd>代わりに {{domxref("Element.setAttributeNS()")}} を使用してください。</dd> +</dl> + +<h2 id="仕様">仕様</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状況</th> + <th scope="col">コメント</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("DOM WHATWG", "#interface-attr", "Attr")}}</td> + <td>{{Spec2("DOM WHATWG")}}</td> + <td><code>ownerElement</code> プロパティを追加。</td> + </tr> + <tr> + <td>{{SpecName("DOM4", "#interface-attr", "Attr")}}</td> + <td>{{Spec2("DOM4")}}</td> + <td>{{domxref("Node")}} から <code>namespaceURI</code>、<code>prefix</code>、<code>localName</code> をこの API へ移動し、<code>ownerElement</code>、<code>schemaTypeInfo</code>、<code>isId</code> を削除。</td> + </tr> + <tr> + <td>{{SpecName("DOM3 Core", "core.html#ID-637646024", "Attr")}}</td> + <td>{{Spec2("DOM3 Core")}}</td> + <td>初版</td> + </tr> + </tbody> +</table> + +<h2 id="ブラウザの実装状況">ブラウザの実装状況</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>機能</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>基本サポート</td> + <td>{{CompatVersionUnknown}}<sup>[1]</sup></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>機能</th> + <th>Android</th> + <th>Android Webview</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + <th>Chrome for Android</th> + </tr> + <tr> + <td>基本サポート</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}} [1]</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}<sup>[1]</sup></td> + </tr> + </tbody> +</table> +</div> + +<p>[1] Chrome 45 現在、このプロパティは Node を継承しません。</p> |
