オブジェクトの操作その2(HTML)

今度はテキストではなくてHTMLとして操作する。

<html>
  <head>
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">google.load("jquery", "1.3.2");</script>
    <script type="text/javascript">
      $(function() {
        //取り出す。
       var div3text = $("#div3").text(); //テキスト
        var div3html = $("#div3").html(); //HTML
        //表示してみる。
        alert(div3html);
        //テキスト全体を平文でブルーにしてみる。
        $("#div3").html("<span style='color: blue;'>" + div3text + "</span>");
        alert("textでタグを含む文字列を挿入したらどうなる?");
        $("#div3").text("<span style='color: blue;'>" + div3text + "</span>");
      })
    </script>
  </head>
  <body>
    <!-- タグ情報がHTMLとして取り出せるかどうか。
     また生成したタグを挿入できるかのテスト -->
    <div id="div3">ぱんぱか<span id="span1">ぱんつで<span style="color: red; font-size: 20pt;">ぱんぱかぱん</span></span></div>
  </body>
</html>

textでタグ付きの文字列を挿入すると、まんま挿入されるんじゃなくてエスケープされた文字列が表示されるんだね〜。すげ〜。


全然詳しくは知らないんだけど、XSSとかを極力防ぐための方針かなんかかな。。