---
title: Attr
slug: Web/API/Attr
translation_of: Web/API/Attr
---
<div>{{APIRef("DOM")}}</div>

<p>Этот тип представляет атрибут элемента DOM в виде объекта. В большинстве методов DOM вы, вероятно, непосредственно извлекаете атрибут в виде строки (например, {{domxref ("Element.getAttribute ()")}}, но некоторые функции (например, {{domxref ("Element.getAttributeNode ()" )}}) или средства итерации, отдают тип <code>Attr</code>.</p>

<p>{{InheritanceDiagram}}</p>

<div class="warning"><strong>Внимание:</strong>  Начиная с 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>{{domxref("DOMString")}}<font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);"> </span></font>представление URI пространства имен атрибута, или NULL если нет никакого пространства имен.</dd>
 <dt>{{domxref("Attr.localName", "localName")}} {{readOnlyInline}}</dt>
 <dd>{{domxref("DOMString")}}  представление локальной части полного имени атрибута.</dd>
 <dt>{{domxref("Attr.prefix", "prefix")}} {{readOnlyInline}}</dt>
 <dd>{{domxref("DOMString")}}  представление префикс пространства имен атрибута, или NULL, если префикс не указан.</dd>
 <dt>{{domxref("Attr.ownerElement", "ownerElement")}} {{readOnlyInline}}</dt>
 <dd>
 <p>Элемнет, содержащий атрибут.</p>

 <div class="note">
 <p><strong>Примечание:</strong> DOM уровень 4 удалил это свойство.Предполагалось, что, поскольку Вы получаете объект Attr от {{domxref("Element")}}, вы заранее должны знать связанный элемент.  Поскольку это не верно в случаях, подобных объектам Attr, возвращаемым  {{domxref("Document.evaluate")}}, DOM уровень жизни вновь ввел это свойство. </p>

 <p>Gecko выводит предупреждение об использовании, начиная с Gecko 7.0 {{geckoRelease("7.0")}}. Это предупреждение было удалено в Gecko 49.0 (Firefox 49.0 / Thunderbird 49.0 / SeaMonkey 2.46).</p>
 </div>
 </dd>
 <dt>{{domxref("Attr.specified", "specified")}} {{readOnlyInline}}</dt>
 <dd>Это свойство всегда возвращает true. Первоначально, оно возвращало true, если атрибут был явно определен в исходном коде или сценарием и false, если ее значение прибыло из значения по умолчанию  определенном в DTD документе.</dd>
 <dt>{{domxref("Attr.value", "value")}}</dt>
 <dd>Значение атрибута</dd>
</dl>

<div class="note">
<p><strong>Примечание:</strong> уровень DOM 3 определил  <code>namespaceURI</code>, <code>localName </code> и   <code>prefix</code> в {{domxref("Node")}} интерфейсе. В DOM4 они были перемещены в <code>Attr</code>.</p>

<p>Это изменение реализовано в Chrome с версии 46.0 и Firefox с версии 48.</p>
</div>

<h2 id="Устаревшие_свойства_и_методы">Устаревшие свойства и методы </h2>

<p>Эти свойства устарели.  Там где это допустимо представлена соответствующая замена.</p>

<dl>
 <dt><code>attributes</code></dt>
 <dd>Это свойство всегда возвращает значение <code>NULL</code>.</dd>
 <dt><code>childNodes</code> {{obsolete_inline(14)}}</dt>
 <dd>Это свойство всегда возвращает пустой  {{domxref("NodeList")}}.</dd>
 <dt><code>firstChild</code> {{obsolete_inline(14)}}</dt>
 <dd>Это свойство всегда возвращает значение  <code>NULL</code>.</dd>
 <dt><code>isId</code> {{readOnlyInline}}</dt>
 <dd>Указывает, является ли атрибут "ID attribute". "ID attribute" - это атрибут, значение которого должно быть уникальным в документе 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> </dt>
 <dt><code>specified</code></dt>
 <dd>Это свойство всегда возвращает значение  <code>true</code>.</dd>
 <dt><code>textContent</code></dt>
 <dd>Используйте  {{domxref("Attr.value")}} взамен.</dd>
</dl>

<p>The following methods have been deprecated:</p>

<dl>
 <dt><code>appendChild()</code> {{obsolete_inline(14)}}</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>Этот  метод всегда возвращает значение  false.</dd>
 <dt><code>hasChildNodes()</code></dt>
 <dd>Этот  метод всегда возвращает значение  false.</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> {{obsolete_inline(14)}}</dt>
 <dd>Измените значение {{domxref("Attr.value")}} взамен..</dd>
 <dt><code>replaceChild()</code> {{obsolete_inline(14)}}</dt>
 <dd>Modify the value of {{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">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName("DOM WHATWG", "#interface-attr", "Attr")}}</td>
   <td>{{Spec2("DOM WHATWG")}}</td>
   <td>Added <code>ownerElement</code> property back</td>
  </tr>
  <tr>
   <td>{{SpecName("DOM4", "#interface-attr", "Attr")}}</td>
   <td>{{Spec2("DOM4")}}</td>
   <td>Moved <code>namespaceURI</code>, <code>prefix</code> and <code>localName</code> from {{domxref("Node")}} to this API and removed <code>ownerElement</code>, <code>schemaTypeInfo</code> and <code>isId</code>.</td>
  </tr>
  <tr>
   <td>{{SpecName("DOM3 Core", "core.html#ID-637646024", "Attr")}}</td>
   <td>{{Spec2("DOM3 Core")}}</td>
   <td>Initial definition</td>
  </tr>
 </tbody>
</table>

<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>

<p>{{CompatibilityTable}}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Edge</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>
   <td>{{CompatVersionUnknown}}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Android Webview</th>
   <th>Edge</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}}<sup>[1]</sup></td>
   <td>{{CompatVersionUnknown}}</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>