Node
Node
(nœud) est une classe abstraite de laquelle de nombreux objets de type DOM API héritent, leur permettant d'être traités de manière similaire et souvent interchangeable. Étant une classe abstraire, il n'existe pas d'objet qui soit directement un Node
. Tous les objets implantant les fonctionnalités de Node
sont des instances d'une de ses sous-classes, dont les plus notables sont Document
, Element
et DocumentFragment
.
De plus, tous les types de nœuds du DOM sont représentés par une classe héritant des propriétés et méthodes de Node
: CharacterData
(duquel Text
, Comment
et CDATASection
héritent), ProcessingInstruction
, , DocumentType
, Notation
, Entity
et EntityReference
.
Les propriétés ou méthodes de ces interfaces peuvent retourner null
lorsque leur existence n'est pas pertinente. Elles peuvent aussi générer une exception – par exemple lors de l'ajout d'un enfant à un type de nœud pour lequel aucun enfant ne peut exister.
Propriétés
Hérite les propriétés de son parent EventTarget
.
Node.baseURI
Lecture seule-
Retourne une
DOMString
(chaine de caractères) représentant l'URL de base du document contenant leNode
. En HTML, il correspond au protocole, au nom de domaine et à la structure du répertoire, jusqu'au dernier/
. Node.baseURIObject
Non-standard-
(Non disponible pour le contenu Web). L'objet en lecture seule
nsIURI
représentant l'URI de base pour l'élément. Node.childNodes
Lecture seule-
Renvoie un
NodeList
contenant tous les enfants de ce nœud.NodeList
signifie que si les enfants duNode
changent, l'objetNodeList
est automatiquement mis à jour. Node.firstChild
Lecture seule-
Renvoie un
Node
représentant le premier nœud enfant direct de ce nœud ounull
s'il n'a pas d'enfant. Node.lastChild
Lecture seule-
Retourne un
Node
représentant le dernier nœud enfant direct de ce nœud ounull
s'il n'a pas d'enfant. Node.nextSibling
Lecture seule-
Retourne un
Node
représentant le nœud suivant dans l'arbre ounull
s'il n'y en a pas. Node.nodeName
Lecture seule-
Retourne une
DOMString
(chaîne de caractères) contenant le nom du nœud. La structure du nom diffère du type de nœud. Par exemple, unHTMLElement
contiendra le nom de la balise correspondante, comme'audio'
pour unHTMLAudioElement
, un nœudText
doit avoir la chaîne'#text'
ou unDocument
doit avoir la chaîne'#document'.
. Node.nodeType
Lecture seule-
Retourne un
unsigned short
(non signé court) représentant le type du nœud. Les valeurs possibles sont :
Nom | Valeur |
---|---|
ELEMENT_NODE |
1 |
ATTRIBUTE_NODE
Obsolète
|
2 |
TEXT_NODE |
3 |
CDATA_SECTION_NODE
Obsolète
|
4 |
ENTITY_REFERENCE_NODE
Obsolète
|
5 |
ENTITY_NODE
Obsolète
|
6 |
PROCESSING_INSTRUCTION_NODE |
7 |
COMMENT_NODE |
8 |
DOCUMENT_NODE |
9 |
DOCUMENT_TYPE_NODE |
10 |
DOCUMENT_FRAGMENT_NODE |
11 |
NOTATION_NODE
Obsolète
|
12 |
Node.nodeValue
-
Retourne / définit la valeur du nœud courant.
Node.ownerDocument
Lecture seule-
Retourne le
Document
auquel ce noeud appartient. Si aucun document ne lui est associé, il retournenull
. Node.parentNode
Lecture seule-
Retourne un
Node
qui est le parent de ce nœud. S'il n'existe pas, parce qu'il est en haut de l'arbre ou parce qu'il ne participe pas à un arbre, cette propriété retournenull
. Node.parentElement
Lecture seule-
Retourne un
Element
qui est le parent de ce nœud. Si le nœud n'a aucun parent ou si ce parent n'est pas unElement
, cette propriété retournenull
. Node.previousSibling
Lecture seule-
Retourne un
Node
représentant le nœud précédent dans l'arbre ounull
s'il n'y en a pas. Node.textContent
-
Retourne / définit le contenu textuel d'un élément et de tous ses descendants.
Propriétés obsolètes
Node.localName
Obsolète Lecture seule-
Retourne un
DOMString
représentant la partie locale du nom d'un élément.
Note : Dans Firefox 3.5 et versions antérieures, la propriété saisit le nom local pour les éléments HTML (mais pas les éléments XHTML). Dans les versions ultérieures, cela ne se produit pas, donc la propriété est en minuscule pour HTML et XHTML.
Node.namespaceURI
Obsolète Lecture seule-
L'URI du "Namespace" de ce nom, ou
null
s'il n'y en a pas.
Note : Dans Firefox 3.5 et versions antérieures, les éléments HTML ne contiennent aucun "namespace". Dans les versions ultérieures, les éléments HTML sont dans le "namespace" https://www.w3.org/1999/xhtml/
pour HTML et XML.
Node.prefix
Obsolète Lecture seule-
Est une
DOMString
représentant le préfixe de l'espace de nom du nœud ounull
si aucun préfixe n'est spécifié. Node.nodePrincipal
Non-standard Obsolète-
Un
nsIPrincipal
représentant le nœud principal. Node.rootNode
Obsolète Lecture seule-
Retourne un objet
Node
représentant le noeud le plus haut dans l'arbre ou le noeud en cours s'il est le noeud le plus haut de l'arbre. Cette propriété a été remplacée parNode.getRootNode()
.
Méthodes
Hérite des méthodes de son parent EventTarget
.
Node.appendChild(childNode)
-
Ajoute l'argument
childNode
spécifié comme dernier enfant au noeud actuel. Si l'argument fait référence à un noeud existant sur l'arborescence DOM, le nœud sera détaché de sa position actuelle et attaché à la nouvelle position. Node.cloneNode()
-
Clône un
Node
et, éventuellement, tout son contenu. Par défaut, il duplique le contenu de ce nœud. Node.compareDocumentPosition()
-
Compare la position du nœud courant par rapport à un autre nœud dans tout autre document.
Node.contains()
-
Retourne une valeur
Boolean
(booléen) indiquant si un noeud est un descendant d'un noeud donné ou non. Node.getBoxQuads()
Expérimental-
Retourne une liste des boites CSS des nœuds relatifs à un autre nœud.
Node.getRootNode()
-
Retourne la racine de l'objet contextuel qui comprend éventuellement la "Shadow root" si elle est disponible.
Node.hasChildNodes()
-
Retourne un
Boolean
(booléen) indiquant si l'élément a des noeuds enfants ou non. Node.insertBefore()
-
Insère un
Node
avant le nœud de référence en tant qu'enfant du noeud actuel. Node.isDefaultNamespace()
-
Accepte une URI d'espace de nom comme argument et retourne une valeur
Boolean
avectrue
(vrai) si l'espace de nom est celui par défaut du noeud donné oufalse
(faux) sinon. Node.isEqualNode()
-
Retourne une valeur
Boolean
(booléenne) qui indique si oui ou non deux noeuds sont du même type et si tous leurs points de données définis correspondent. Node.isSameNode()
-
Retourne une valeur
Boolean
(booléenne) indiquant si les deux noeuds sont ou non identiques (c'est-à-dire qu'ils font référence au même objet). Node.lookupPrefix()
-
Retourne une
DOMString
(chaîne de caractères) contenant le préfixe d'une URI d'un espace de nom donné, s'il est présent, etnull
sinon. Node.lookupNamespaceURI()
-
Accepte un préfixe et retourne l'URI de l'espace de noms qui lui est associé sur le nœud donné s'il le trouve,
null
sinon. Fournirnull
comme préfixe retournera l'espace de noms par défaut. Node.normalize()
-
Nettoye tous les nœuds de texte en-dessous de cet élément (fusionne adjacent, supprime vide).
Node.removeChild()
-
Supprime un nœud enfant, depuis l'élément courant, qui doit être un enfant de ce nœud.
Node.replaceChild()
-
Remplace un
Node
enfant du nœud courant par celui donné dans le paramètre.
Méthodes obsolètes
Node.getFeature()
Obsolète-
Permet à un utilisateur d'obtenir un objet
DOMUserData
à partir du nœud fourni. Node.getUserData()
Obsolète-
Permet à un utilisateur d'obtenir une
DOMUserData
(donnée utilisateur) à partir du nœud. Node.hasAttributes()
Obsolète-
Retourne un
Boolean
indiquant si l'élément possède des attributs ou non. Node.setUserData()
Obsolète-
Permet à un utilisateur d'attacher ou d'enlever
DOMUserData
du nœud.
Exemples
Parcourir tous les nœuds enfants
La fonction suivante parcourt de manière récursive tous les nœuds enfants d'un noeud et exécute une fonction de rappel sur eux (et sur le nœud parent lui-même).
function DOMComb(oParent, oCallback) {
if (oParent.hasChildNodes()) {
for (var oNode = oParent.firstChild; oNode; oNode = oNode.nextSibling) {
DOMComb(oNode, oCallback);
}
}
oCallback.call(oParent);
}
Syntaxe
DOMComb(parentNode, callbackFunction);
Description
Suit le cycle récursif de tous les nœuds enfants d'un parentNode
et le parentNode
lui-même, et exécute la fonction callbackFunction
(rappel) sur eux comme un objet this
.
Paramètres
parentNode
-
Le nœud parent (
Node Object
) callbackFunction
-
La fonction de rappel (
Function
).
Exemples d'utilisation
L'exemple suivant envoie à la console.log
le contenu texte du corps :
function printContent() {
if (this.nodeValue) {
console.log(this.nodeValue);
}
}
onload = function () {
DOMComb(document.body, printContent);
};
Supprimer tous les enfants imbriqués dans un nœud
Element.prototype.removeAll = function () {
while (this.firstChild) {
this.removeChild(this.firstChild);
}
return this;
};
Exemple d'utilisation
/* ... an alternative to document.body.innerHTML = "" ... */
document.body.removeAll();
Spécifications
Specification |
---|
DOM Standard # interface-node |
Compatibilité des navigateurs
BCD tables only load in the browser