Document : méthode createElementNS()
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
La méthode createElementNS() de l'interface Document crée un élément avec l'URI de l'espace de noms défini et un nom qualifié.
Pour créer un élément sans définir d'URI d'espace de noms, utilisez la méthode createElement().
Syntaxe
createElementNS(namespaceURI, qualifiedName)
createElementNS(namespaceURI, qualifiedName, options)
Paramètres
namespaceURI-
Une chaîne de caractères qui définit un
namespaceURIà associer à l'élément. Certains d'espaces de noms d'URI importants sont qualifiedName-
Une chaîne de caractères qui définit le type d'élément à créer. La propriété
nodeNamede l'élément créé est initialisée avec la valeur de qualifiedName. optionsFacultatif-
Un objet
ElementCreationOptionsoptionnel contenant une seule propriété nomméeis, dont la valeur est le nom de balise d'un élément personnalisé précédemment défini à l'aide decustomElements.define(). Pour la rétrocompatibilité, certains navigateurs permettent de passer une chaîne de caractères ici à la place d'un objet, où la valeur de la chaîne de caractères est le nom de la balise de l'élément personnalisé. Voir Étendre les éléments HTML natifs (angl.) pour plus d'informations sur l'utilisation de ce paramètre.Le nouvel élément recevra un attribut
isdont la valeur est le nom de la balise de l'élément personnalisé. Les éléments personnalisés sont une fonctionnalité expérimentale disponible uniquement dans certains navigateurs.
Valeur de retour
L'objet Element nouvellement créé.
Exceptions
NamespaceErrorDOMException-
Levée si la valeur de
namespaceURIn'est pas un URI d'espace de noms valide. InvalidCharacterErrorDOMException-
Levée si la valeur de
qualifiedNamen'est pas un nom XML (angl.) valide ; par exemple, si elle commence par un chiffre, un tiret ou un point, ou contient des caractères autres que des caractères alphanumériques, des tirets bas (_), des tirets (-) ou des points (.).
Exemples
Cet exemple crée un nouvel élément <div> dans l'espace de noms XHTML et l'ajoute à l'élément vbox. Bien que ce ne soit pas un document XUL très utile, cela montre l'utilisation d'éléments de deux espaces de noms différents au sein d'un même document :
<?xml version="1.0"?>
<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
title="||Working with elements||"
onload="init()">
<script><![CDATA[
let container;
let newDiv;
let textNode;
function init() {
container = document.getElementById("ContainerBox");
newDiv = document.createElementNS("http://www.w3.org/1999/xhtml", "div");
textNode = document.createTextNode(
"Ce texte a été construit dynamiquement avec createElementNS et createTextNode, puis inséré dans le document en utilisant appendChild.",
);
newDiv.appendChild(textNode);
container.appendChild(newDiv);
}
]]></script>
<vbox id="ContainerBox" flex="1">
<html:div>
Le script sur cette page ajoutera du contenu dynamique ci-dessous :
</html:div>
</vbox>
</page>
Note : L'exemple donné ci-dessus utilise un script en ligne qui n'est pas recommandé dans les documents XHTML. Cet exemple particulier est en fait un document XUL intégrant du XHTML. Cependant, la recommandation s'applique quand même.
Spécifications
| Specification |
|---|
| DOM> # ref-for-dom-document-createelementns①> |
Compatibilité des navigateurs
Voir aussi
- La méthode
document.createElement() - La méthode
document.createTextNode() - La propriété
Element.namespaceURI