0

テキストといくつかのhtmlコードを含むcontenteditabledivがあります。コンテンツ(テキストとコード)をこのdivからtextareaに移動したいと思います。私はmovecontentjavascriptを持っていますが、テキストのみを移動します。誰か助けてもらえますか?

<html>
    <head>
<script type="text/javascript">
    function MoveContent () {
        var srcObj = document.getElementById ("src");
        var destObj = document.getElementById ("dest");

        if (document.createRange) {     // all browsers, except IE before version 9
            var rangeObj = document.createRange ();
            rangeObj.selectNodeContents (srcObj);
            var documentFragment = rangeObj.extractContents ();
            destObj.appendChild (documentFragment);
        }
    }
</script>
          </head>
     <body>
     <div id="src" style="background-color:#e0a0b0; width:300px; height:50px;">The <br>    <b>contents</b> of the <i>source</i> element.</div>
   <textarea id="dest" style="width: 500px; height:100px;"></textarea>
<br /><br />
<button onclick="MoveContent ();">Move the contents!</button>
</body>
4

1 に答える 1

0

あなたはそれを探しているようです:

destObj.value = documentFragment.innerHTML;

<textarea>コンテンツにはCDATAしか含まれていない可能性があるため、通常はコンテンツをに追加しません。要素.valueと同様に、プロパティを使用するだけです。<input>また、あなたがそれを正確に何を必要としているのかわかりませんがdocumentRange、それもしませsrcObj.innerHTMLんか?

jsfiddle.netでのデモ

于 2012-12-18T21:27:53.330 に答える