1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
   | <html>
  <head>
    <script type="text/javascript">
      function getResult(oNode) {
        document.getElementById('result').value = '';
        getXhtml(oNode, document.getElementById('result'));
      }
 
      function getXhtml(oNode, objInput) {
        switch (oNode.nodeType) {
          case 1: // element
            objInput.value += "<" + oNode.nodeName;
 
            if (oNode.canHaveChildren || oNode.hasChildNodes()) {
              objInput.value += ">";
 
              for (var i = 0; i < oNode.childNodes.length; i++) {
                getXhtml(oNode.childNodes[i], objInput);
              }
 
              objInput.value += "</" + oNode.nodeName + ">";
            } else {
              objInput.value += " />";
            }
 
            break;
 
          case 3: // text
            objInput.value += oNode.nodeValue;
            break;
        }
      }
    </script>
  </head>
  <body>
    <div id="monDiv">
      <p id="id1">
        <font id="id2">
          <p id="id3">texte1</p>
        </font>
      </p>
      <p id="id4">texte2</p>
    </div>
 
    <br/><br/>
    <input type="button" value="Pourquoi est-ce que le code se dédouble quand on clique sur ce bouton ??! :-(" onclick="javascript:getResult(document.getElementById('monDiv'));"/>
    <br/><br/>
    <input type="text" id="result" value="" size="150"/>
  </body>
</html> | 
Partager