J'ai le code suivant dans une fonction:node.setAttribute provoque INVALID_CHARACTER_ERR
this.HtmlRef = document.createElement("canvas");
if (!this.HtmlRef)
{
return false;
}
this.HtmlRef.appendChild( document.createTextNode("Your browser doesn't support dynamic graphic drawings (Canvas)!") );
var Width = document.createAttribute("width");
var Height = document.createAttribute("height");
Width.nodeValue = 0;
Height.nodeValue = 0;
this.HtmlRef.setAttribute(Width); /* error */
this.HtmlRef.setAttribute(Height); /* error */
J'ai aussi essayé de changer les noms de largeur et la hauteur, mais sans succès! Le message d'erreur entier:
Uncaught Error: INVALID_CHARACTER_ERR: DOM Exception 5
Merci.
La solution est d'utiliser setAttributeNode au lieu de setAttribute
Vous pouvez voir cette erreur si vous utilisez 'document.createElement ('document # ') '(ou avec' createElementNS'); Cela peut se produire si vous essayez naïvement de cloner un 'Document' entier au lieu du nœud racine. La solution est de commencer le clonage au noeud node.documentElement (la racine). – Phrogz