docs: function(arg) {
      var e, text, i, child;
      if (typeof arg == 'string' || typeof arg == 'number') {
        arg = '' + arg;
        if (arg.substr(0, 6) == '<html>') return this.html( arg.substr( 6 ) );
  
        this.clear();
        this._element.appendChild(window.document.createTextNode(arg));
        return this;
      } else {
        // On retourne le contenu textuel de ce widget.
        e = this._element;
        if (arg !== undefined) {
          // On peut passer un élément du DOM pour en extraire son contenu textuel.
          e = arg;
        }
        text = "";
        if (e.childNodes) {
          for (i=0 ; i<e.childNodes.length ; i++) {
            child = e.childNodes[i];
            if (child.nodeType == 3) {
              if (child.nodeValue) {
                text += child.nodeValue;
              }
            } else {
              text += this.text( child );
            }
          }
        }
        return text;
      }
    }