1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
---
title: Attr
slug: Web/API/Attr
tags:
- API
- Attribut
- DOM
translation_of: Web/API/Attr
---
<div>{{APIRef("DOM")}}</div>
<p>Ce type représente un attribut d'un élément DOM comme un objet. Dans la plupart des méthodes DOM, vous auriez probablement récupéré l'attribut directement comme une chaîne (par exemple, {{domxref ("element.getAttribute()")}}, mais certaines fonctions (par exemple, {{domxref ("element.getAttributeNode()" )}}) ou des moyens d'itération donnent des types Attr.</p>
<div class="warning">
<p><strong>Attention :</strong> À partir de Gecko 7.0 {{geckoRelease ("7.0")}}, ceux qui vont être retirés afficheront des messages d'avertissement dans la console. Vous devriez modifier votre code en conséquence. Voir {{anch("Propriétés et méthodes dépréciées")}} pour une liste complète.</p>
</div>
<h2 id="Propriétés">Propriétés</h2>
<dl>
<dt>{{domxref("Attr.name", "name")}} {{readOnlyInline}}</dt>
<dd>Le nom de l'attribut.</dd>
<dt>{{domxref("Attr.namespaceURI", "namespaceURI")}} {{readOnlyInline}}</dt>
<dd>Une {{domxref("DOMString","Chaîne de caractères")}} <span id="result_box" lang="fr"><span>représentant l'URI de l'espace nom de l'attribut ou <code>null</code> s'il n'y a pas d'espace nom.</span></span></dd>
<dt>{{domxref("Attr.localName", "localName")}} {{readOnlyInline}}</dt>
<dd>Une {{domxref("DOMString","Chaîne de caractères")}} représentant <span class="short_text" id="result_box" lang="fr"><span>la partie locale du nom qualifié de l'attribut.</span></span></dd>
<dt>{{domxref("Attr.prefix", "prefix")}} {{readOnlyInline}}</dt>
<dd>Une {{domxref("DOMString","Chaîne de caractères")}} représentant <span id="result_box" lang="fr"><span> le préfixe de l'espace nom de l'attribut, ou <code>null</code> si aucun préfixe n'est spécifié.</span></span></dd>
<dt>{{domxref("Attr.ownerElement", "ownerElement")}} {{readOnlyInline}}</dt>
<dd>L'élément contenant l'attribut.</dd>
</dl>
<div class="note">
<p><strong>Note :</strong> DOM Niveau 4 <span class="short_text" id="result_box" lang="fr"><span>a supprimé cette propriété</span></span> . <span id="result_box" lang="fr"><span>L'hypothèse était que puisque nous obtenons un objet Attr d'un</span></span> {{domxref("Element")}}, nous devrions déjà connaître les éléments associés.<br>
<span class="short_text" id="result_box" lang="fr"><span>Comme cela n'est pas vrai quand les objets</span></span> <code>Attr</code> sont retournés par {{domxref("Document.evaluate")}}, <span class="short_text" id="result_box" lang="fr"><span>le DOM Living Standard a réintroduit la propriété.</span></span></p>
<p><span class="short_text" id="result_box" lang="fr"><span>Gecko affiche une note de dépréciation à partir de</span></span> Gecko 7.0 {{geckoRelease("7.0")}}. Cette note a été supprimée dans Gecko 49.0 {{geckoRelease("49.0")}}.</p>
</div>
<dl>
<dt>{{domxref("Attr.specified", "specified")}} {{readOnlyInline}}</dt>
<dd><span id="result_box" lang="fr"><span>Cette propriété renvoie toujours la valeur <code>true</code>.</span> <span>À l'origine, elle renvoyait true si l'attribut était explicitement spécifié dans le code source ou par un script, et <code>false</code> si sa valeur provenait de la valeur par défaut définie dans la DTD du document.</span></span></dd>
<dt>{{domxref("Attr.value", "Value")}}</dt>
<dd>La valeur de l'attribut.</dd>
</dl>
<div class="note">
<p><strong>Note:</strong> DOM Niveau 3 a défini <code>namespaceURI</code>, <code>localName</code> et <code>prefix</code> sur l'interface {{domxref("Node")}}. Dans DOM4 ils ont été déplacés vers <code>Attr</code>.</p>
<p>Cette modification est implémentée dans Chrome depuis la version 46.0 et Firefox à partir de la version 48.0.</p>
</div>
<h2 id="Propriétés_et_méthodes_dépréciées"><span class="short_text" id="result_box" lang="fr"><span class="hps">Propriétés et méthodes</span> <span class="hps">dépréciées</span></span></h2>
<p>Les propriétés suivantes ont été dépréciées. Si elle est disponible, la méthode ou propriété de remplacement appropriée est fournie.</p>
<dl>
<dt><code>attributes</code></dt>
<dd>Cette propriété retourne désormais toujours <code>NULL</code>.</dd>
<dt><code>childNodes </code> {{obsolete_inline(14)}}</dt>
<dd>Cette propriété retourne désormais toujours <code>un</code> {{domxref("NodeList")}} vide.</dd>
<dt><code>firstChild </code> {{obsolete_inline(14)}}</dt>
<dd>Cette propriété retourne désormais toujours <code>NULL</code>.</dd>
<dt><code>isId</code> {{readOnlyInline}}</dt>
<dd><span id="result_box" lang="fr"><span>Indique si l'attribut est un "attribut ID".</span> <span>Un "attribut ID" étant un attribut dont la valeur devrait être unique dans un document DOM.</span> <span>En HTML DOM, "id" est le seul attribut ID, mais les documents XML peuvent en définir d'autres.</span> <span>Qu'un attribut soit unique ou non est souvent déterminé par</span></span> un {{Glossary("DTD")}} ou une autre description de schéma.</dd>
<dt><code>lastChild </code> {{obsolete_inline(14)}}</dt>
<dd>Cette propriété retourne désormais toujours <code>NULL</code>.</dd>
<dt><code>nextSibling</code></dt>
<dd>Cette propriété retourne désormais toujours <code>NULL</code>.</dd>
<dt><code>nodeName</code></dt>
<dd>Utilisez {{domxref("Attr.name")}} à la place.</dd>
<dt><code>nodeType</code></dt>
<dd>Cette propriété retourne toujours 2. (<code>ATTRIBUTE_NODE</code>).</dd>
<dt><code>nodeValue</code></dt>
<dd>Utilisez {{domxref("Attr.value")}} à la place.</dd>
<dt><code>ownerDocument</code></dt>
<dd>Vous n'auriez pas dû l'utiliser en premier lieu, donc cela ne devrait pas vous ennuyer qu'il soit retiré.</dd>
<dt><code>parentNode</code></dt>
<dd>Cette propriété retourne désormais toujours NULL.</dd>
<dt><code>previousSibling</code></dt>
<dd>Cette propriété retourne désormais toujours NULL.</dd>
<dt><code>schemaTypeInfo</code> {{obsolete_inline}} {{readOnlyInline}}</dt>
<dd><span id="result_box" lang="fr"><span>Les informations de type associées à cet attribut.</span> <span>Bien que l'information de type contenue dans cet attribut soit garantie après le chargement du document ou l'appel de</span></span> {{domxref("Document.normalizeDocument")}}, cette propriété <span id="result_box" lang="fr"><span>peut ne pas être fiable si le nœud a été déplacé.</span></span></dd>
<dt><code>specified</code></dt>
<dd>Cette propriété retourne désormais toujours true.</dd>
<dt><code>textContent</code></dt>
<dd>Utilisez {{domxref ("Attr.value")}} à la place.</dd>
</dl>
<p><br>
Les méthodes suivantes ont été dépréciées:</p>
<dl>
<dt><code>appendChild() </code> {{obsolete_inline(14)}}</dt>
<dd>Modifiez à la place la valeur de {{domxref ("Attr.value")}}.</dd>
<dt><code>cloneNode()</code></dt>
<dd>Vous n'auriez pas dû l'utiliser en premier lieu, donc cela ne devrait pas vous ennuyer qu'il soit retiré.</dd>
<dt><code>createAttribute()</code></dt>
<dd>Utilisez {{domxref("Attr.setAttribute()")}} à la place.</dd>
<dt><code>createAttributeNS()</code></dt>
<dd>Utilisez {{domxref("Attr.setAttributeNS()")}} à la place.</dd>
<dt><code>getAttributeNode()</code></dt>
<dd>Utilisez {{domxref("Attr.getAttribute()")}} à la place.</dd>
<dt><code>getAttributeNodeNS()</code></dt>
<dd>Utilisez {{domxref("Attr.getAttributeNS()")}} à la place.</dd>
<dt><code>hasAttributes() </code>{{obsolete_inline("21.0")}}</dt>
<dd>Cette méthode retourne désormais toujours false.</dd>
<dt><code>hasChildNodes()</code></dt>
<dd>Cette méthode retourne désormais toujours false.</dd>
<dt><code>insertBefore()</code></dt>
<dd>Modifiez à la place la valeur de {{domxref ("Attr.value")}}.</dd>
<dt><code>isSupported()</code></dt>
<dd>Vous n'auriez pas dû l'utiliser en premier lieu, donc cela ne devrait pas vous ennuyer qu'il soit retiré.</dd>
<dt><code>isEqualNode()</code></dt>
<dd>Vous n'auriez pas dû l'utiliser en premier lieu, donc cela ne devrait pas vous ennuyer qu'il soit retiré.</dd>
<dt><code>normalize()</code></dt>
<dd>Vous n'auriez pas dû l'utiliser en premier lieu, donc cela ne devrait pas vous ennuyer qu'il soit retiré.</dd>
<dt><code>removeAttributeNode()</code></dt>
<dd>Utilisez {{domxref("Attr.removeAttribute()")}} à la place.</dd>
<dt><code>removeChild() </code> {{obsolete_inline(14)}}</dt>
<dd>Modifiez à la place la valeur de {{domxref("Attr.value")}}.</dd>
<dt><code>replaceChild() </code> {{obsolete_inline(14)}}</dt>
<dd>Modifiez à la place la valeur de {{domxref("Attr.value")}}.</dd>
<dt><code>setAttributeNode()</code></dt>
<dd>Utilisez {{domxref("Attr.setAttribute()")}} à la place.</dd>
<dt><code>setAttributeNodeNS()</code></dt>
<dd>Utilisez {{domxref("Attr.setAttributeNS()")}} à la place.</dd>
</dl>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Spécification</th>
<th scope="col">Statut</th>
<th scope="col">Commentaire</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName("DOM WHATWG", "#interface-attr", "Attr")}}</td>
<td>{{Spec2("DOM WHATWG")}}</td>
<td>Ajoute la propriété <code>ownerElement</code> property</td>
</tr>
<tr>
<td>{{SpecName("DOM4", "#interface-attr", "Attr")}}</td>
<td>{{Spec2("DOM4")}}</td>
<td>A déplacé les <code>namespaceURI</code>, <code>prefix</code> et <code>localName</code> de {{domxref("Node")}} vers cet API et supprimé <code>ownerElement</code>, <code>schemaTypeInfo</code> et <code>isId</code>.</td>
</tr>
<tr>
<td>{{SpecName("DOM3 Core", "core.html#ID-637646024", "Attr")}}</td>
<td>{{Spec2("DOM3 Core")}}</td>
<td>Définition initiale</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<p>{{Compat("api.Attr")}}</p>
|