那你就必须使用innerText了..
否则的话在服务端用server.HTMLEncode..

解决方案 »

  1.   

    innerText,解码也可以用escape(),不过我不知道有没有效。
      

  2.   

    我现在就遇到这个问题了,我用innerHTML取出一段页面代码要存入XML文件中,但是XML规定属性值必须用双引号括起来,而innerHTML格式化后有一部份属性的双引号就没了!!哪位有好的办法?
      

  3.   

    用XMLDOM将html code 写入 xml, 由xml解析器自动处理标记的特殊字符< > &...
    e.g.
    var e = xmldoc.appendChild(xmldoc.createElement("Test"));
    e.text = yourelement.innerHTML;
    alert(e.xml);
    // 最好不要将html的标记和xml的标记混用,因为html的语法没有xml严格,直接将html node 的 innerHTML 作为 xml的文件片断极容易导致非法格式的xml.
    // another way: use cdata section.
      

  4.   

    自己写一个函数把 <, >, & 等替换成实体 &lt; &gt; &amp; 等即可。如果你和你的浏览者只用ie,也可以用innerText,而且这样速度比innerHTML快超多。
      

  5.   

    innerHTML如果不替换的话要它就没有意义了,要想不替换用<textarea>的value就可以了,任何一个控件的属性内的字符串都不会被替换的。<textarea id=tmp style="width:100%; height=100%; border:0 solid; overflow:hidden"></textarea><script>
    tmp.value = "<h1></h1>";
    </script>或者替换实体。