--- title: Node.setUserData() slug: Web/API/Node/setUserData tags: - API - DOM - Données utilisateur - Méthodes - Noeuds translation_of: Web/API/Node/setUserData ---
{{APIRef("DOM")}}{{obsolete_header}}

La méthode Node.setUserData() permet à un utilisateur de joindre (ou supprimer) des données à un élément, sans avoir besoin de modifier le DOM. Notez que ces données ne seront pas conservées lors de l'importation via {{domxref("Node.importNode")}}, comme avec les opérations {{domxref("Node.cloneNode()")}} et {{domxref("Node.renameNode()")}} (bien que {{domxref("Node.adoptNode")}} conserve l'information), et les tests d'égalité dans {{domxref("Node.isEqualNode()")}} ne prennent pas en compte les données de l'utilisateur lors de l'évaluation.

Cette méthode offre l'avantage d'associer des données à des noeuds spécifiques sans nécessiter de modification de la structure du document et de façon standard, mais cela signifie aussi que des étapes supplémentaires peuvent être nécessaires si l'on souhaite sérialiser l'information ou l'inclure sur un clone, importer ou renommer des opérations.

Les méthodes Node.getUserData et {{domxref("Node.setUserData")}} ne sont plus disponibles depuis le contenu Web. {{domxref("HTMLElement.dataset")}} ou WeakMap peuvent être utilisées à la place.

Syntaxe

var prevUserData = someNode.setUserData(userKey, userData, handler);

Paramètres

Exemple

var d = document.implementation.createDocument('', 'test', null);
d.documentElement.setUserData('key', 15, {handle:function (o, k, d, s, ds) {console.log(o+'::'+k+'::'+d+'::'+s+'::'+ds)}}); // 2::key::15::[object Element]::[object Element]
console.log(d.documentElement.getUserData('key')); // 15
var e = document.importNode(d.documentElement, true); // provoque l'appel du gestionnaire
console.log(e.getUserData('key')); // null puisque les données utilisateur ne sont pas copiées.

Spécifications

Spécification Statut Commentaire
{{SpecName('DOM WHATWG', '#interface-node', 'Node')}} {{Spec2('DOM WHATWG')}} Supprimé de la  spécification.
{{SpecName('DOM3 Core', 'core.html#Node3-setUserData', 'Node.setUserData()')}} {{Spec2('DOM3 Core')}} Définition initiale.

Compatibilité des navigateurs

{{CompatibilityTable}}

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatNo}} {{CompatGeckoDesktop("1.0")}}
{{CompatNo}} {{CompatGeckoDesktop("22.0")}}[1]
{{CompatUnknown}} {{CompatNo}} {{CompatNo}}
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatNo}} {{CompatGeckoMobile("1.0")}}
{{CompatNo}} {{CompatGeckoMobile("22.0")}}[1]
{{CompatVersionUnknown}} {{CompatNo}} {{CompatNo}}

[1] La méthode reste disponible dans les scripts chrome.

Voir aussi